执行sql脚本文件出错dbcc,执行大sqlserver脚本文件
发布时间:2024/6/22 21:59:08 作者:Admin 阅读:79
广告:
alter database UFDATA_020_2015 set emergency
ALTER DATABASE UFDATA_020_2015 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
dbcc checkdb(UFDATA_020_2015)
dbcc checkdb(UFDATA_020_2015,REPAIR_ALLOW_DATA_LOSS)
sqlcmd -S .\sql20081 -U sa -P hao123 -d ERP -i F:\temp\SQL2008_ERP_Recovery.sql -b
SQLCMD -E -d ERP -i H:\temp\dataname2012.sql
或者指定代码: -f 65001
sqlcmd -S .\sql2008 -U sa -P hao123 -f 65001-d dlhw3 -i G:\temp\ansi1.sql
如果提示:中文提示 后的引号不完整
解决方法:中文内容,生成sql脚本时,存为 ansi格式 sql脚本,不要为utf-8格式。
sqlcmd执行含中文等字符的sql脚本时报错解决方案
参考:
# 编码方式改成utf-8
C:\WINDOWS\system32>chcp 65001
# 编码方式改成gbk
C:\WINDOWS\system32>chcp 936
truncate table WEB_DATA_SET
如果执行sql脚本文件出错,可用下面语句执行
CREATE TABLE sqltemptable ( Script NVARCHAR(MAX) ); BULK INSERT sqltemptable FROM 'F:\temp\SQL2008_ERP_Recovery.sql' WITH ( ROWTERMINATOR = '\n', -- 根据你的文件实际的行结束符进行调整 FIELDTERMINATOR = ';' -- 假设每条语句以分号结束 );
DECLARE @SQL NVARCHAR(MAX); DECLARE ScriptCursor CURSOR FOR SELECT Script FROM sqltemptable; OPEN ScriptCursor; FETCH NEXT FROM ScriptCursor INTO @SQL; WHILE @@FETCH_STATUS = 0 BEGIN EXEC sp_executesql @SQL; FETCH NEXT FROM ScriptCursor INTO @SQL; END CLOSE ScriptCursor; DEALLOCATE ScriptCursor;
DROP TABLE sqltemptable;
sql server 收缩怎么停止
use master
go
alter database erp set auto_shrink off;
广告:
相关文章