執行sql腳本文件出錯dbcc,執行大sqlserver腳本文件
發布時間:2024/6/22 21:59:08 作者:Admin 閱讀:71
廣告:
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;
廣告:
相關文章