为架构和数据生成脚本

时间:2016-10-05 11:41:27

标签: sql sql-server sqlcmd

我有一个SQL Server数据库。在SQL Server Management Studio中,我生成了一个数据和模式脚本(任务 - >生成脚本 - > ..等)。

我可以在SQLCmd中生成此脚本(架构和数据)吗?

之前,我使用BackUp和Restore来克隆数据库,但现在我没有权限恢复服务器上的数据库,我需要使用脚本。

--- My code for .bat ---
:: BackUp and restore DB
:: Create BackUp Prod DB
SqlCmd -U <user> -P <pass> -S <ip_MSSQL> -Q "USE <MyDb> EXEC sp_BackupDatabases @backupLocation='<network_drive>', @databaseName='MyDb', @backupType='F'"
:: Copy BackUps from temp folder to D:\BD\
set lpath=<network_drive>\MyDB_FULL_
set rpath=*.BAK
copy %lpath%%rpath% D:\BD\

:: Update/Restore Dev DB from Prod BackUp
SqlCmd -U <user> -P <pass> -S <ip_MSSQL> -Q "DECLARE @Data varchar(100) SET @Data = REPLACE(CONVERT(VARCHAR, GETDATE(),101),'/','') DECLARE @BackupFile varchar(100) SET @BackupFile=N'D:\BD\MyDB_FULL_' + @Data + N'.BAK' RESTORE DATABASE DevMyDb FROM DISK=@BackupFile with move 'MyDB' to 'D:\DB\DevMyDB.mdf', move 'MyDB_log' to 'D:\DB\DevMyDB_log.ldf'"
:: Delete BackUp in temp folder
del <network_drive>\MyDB_FULL_*.BAK /s /q

P.S。对于备份,我使用存储过程 - https://support.microsoft.com/en-us/kb/2019698

0 个答案:

没有答案