如何将所有表的数据和模式复制到同一服务器上的不同数据库中?

l--*_*''' -8 sql t-sql sql-server sql-server-2012

使用脚本 (但不使用数据导入/导出,不使用备份还原,不使用数据库副本) 如何将完整的表(模式和数据)从同一服务器上的一个数据库复制到同一服务器上的另一个数据库?

我已经尝试过做我上面用的斜体了; 但是,由于用户权限等原因,我无法使用这些方法.

也许这会奏效:

 SELECT *
 INTO newdb.dbo.newtable
 FROM olddb.dbo.oldtable
Run Code Online (Sandbox Code Playgroud)

但我想将它应用于每个表(大约100个表).

swa*_*eck 8

如果你真的是一个系统管理员,我不明白备份和恢复有什么问题.

BACKUP DATABASE <DatabaseName, sysname, DatabaseName>
TO DISK=N'<backup_location, varchar, BackupLocation>.bak'
WITH INIT, FORMAT, COMPRESSION, COPY_ONLY

RESTORE DATABASE <NewDatabaseName, sysname, NewDatabaseName>
FROM DISK = N'<backup_location, varchar, BackupLocation>\
    <DatabaseName, sysname, DatabaseName>.bak'
WITH 
    MOVE '<DataFileName, sysname, DataFileName>' TO '<DataMDFPath, nvarchar(600), DataMDFPath>',
    MOVE '<LogFilePath, sysname, LogFilePath>' TO '<LogLDFPath, nvarchar(600), LogLDFPath>',
    REPLACE;
Run Code Online (Sandbox Code Playgroud)

在这里,看,我甚至为你模仿它.

  • @АртёмЦарионов当我把它作为对你问题的第一个评论时,为什么没有这个呢? (2认同)