Thank you ! exec('exec xp_cmdshell ''copy d:\program files\microsoft sql server\mssql\data\'+@foreDbname+'.mdf d:\program files\microsoft sql server\mssql\data\'+@newDbname+'.mdf''')谁能解释一下xp_cmdshell '' 和@newDbname+'.mdf''' 中的那几个'是什么意思?
调试欢乐多
eg: Select 'abc''a''def'
结果为
abc'a'def
eg: Select 'abc''a''def'
结果为
abc'a'def
@foreDbname VarChar(100),
@newDbname VarChar(100)
as
exec('sp_detach_db '+@foreDbname)
exec('exec master..xp_cmdshell ''copy d:\program files\microsoft sql server\mssql\data\'+@foreDbname+'.mdf d:\program files\microsoft sql server\mssql\data\'+@newDbname+'.mdf''')
exec('create database '+@foreDbname+' on primary (filename = ''d:\program files\microsoft sql server\mssql\data\'+@foreDbname+'.mdf'') for attach')
exec('create database '+@newDbname+' on primary (filename = ''d:\program files\microsoft sql server\mssql\data\'+@newDbname+'.mdf'') for attach')
执行:proDbCopy 'gTry_2003','gTry_2003_a'
出错提示:
(所影响的行数为 2 行)
服务器: 消息 5105,级别 16,状态 4,行 1
设备激活错误。物理文件名 'd:\program files\microsoft sql server\mssql\data\gTry_2003_a.mdf' 可能有误。/**结果并未拷贝生成gTry_2003_a.mdf,为什么?*/