A. 如何實現sqlserver單步調試
1、將伺服器【身份驗證】屬性設置成【混合模式】(window與sql身份驗證)
2、在【控制面板】中打開【服務】將【MSSQLSERVER】服務打開【屬性】,選擇【登錄】頁面,將登錄身份設置成伺服器本地帳號和該帳號密碼,如administrator,密碼123;
3、重新啟動sqlserver服務,此時的服務指的是【SQL服務管理器】中的SQL Server服務;
假設【帳號】設置為administrator
此時達到的效果是:伺服器本地帳號administrator與客戶端上的administrator(並且該帳號的密碼要與伺服器密碼相同)可以通過【查詢分析器】進行調試;
如果想讓【其他帳號】也能夠調試,那麼還需要如下設置:
1、在【伺服器】上運行dcomcnfg.exe;
2、在【默認安全機制】中【默認訪問許可權】右邊點擊【編輯默認值】選擇允許調試的帳號類型,如users用戶類型,sample帳號有包含users組;
3、重新啟動sqlserver服務;
4、在客戶端上創建與服務帳號密碼一樣的用戶,如sample;
做到這步就可以通過查詢分析器的調試功能進行單步調試了。
註:第二步更改「啟動服務帳戶」,在第一次登錄之前,必須更改用戶密碼。
不然,event log:以當前密碼登錄的嘗試因下列錯誤將宣告失敗:
在第一次登錄之前,必須更改用戶密碼。
B. sqlserver如何將身份證號碼的出生日期提取出來轉為日期類型數據
(1)截取第七、八位數沒有錯
(2)錯就錯在as
datetime錯誤。
截取獲得的兩位數字不可能轉成時間格式。只能轉成int、string或者varchar格式
(3)改正方法:把as
datetime改成as
int
或者改成as
varchar
望採納!
C. sqlserver 分離 導出 還原這幾個功能如何區別呢!
分離/附加: 這個說的是 將資料庫的數據文件和日誌文件從源資料庫中 分離出來, 介質仍然是 數據文件和日誌文件; 可以拷貝到 新的資料庫伺服器上,將 分理出的 數據文件和日誌文件附加上去。
導出/導入:這個我不確定是哪個操作,如果是dts/ssis的導出導入的話,則是一個強大的功能,可以導出成各種格式的文件,比如sql文件、excel文件、其他資料庫 等等。這個介質不好說,根據導出的方法確定。
備份/還原:這個是資料庫的維護功能,日常要對資料庫進行備份,以免資料庫崩潰。也可以使用備份文件到目標資料庫伺服器上進行恢復。介質是資料庫備份文件。
D. 為什麼sqlserver.exe進程不能終止
因為一些軟體看似關閉了不在讀取U盤的數據,其實進程任然沒有結束,你可以結束EXPLORER進程,然後重啟一下這個進程,應該可以了。
E. 如何做SQLServer的日誌截斷
SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收縮資料庫日誌,首先需要通過將資料庫恢復模式設置為 SIMPLE 來截斷該文件。
語句如下:
USE DATABASENAME;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DATABASENAME_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE DATABASENAME SET RECOVERY FULL;
GO
也可以通過圖形界面來完成。
通過先備份日誌,然後再收縮日誌文件,如下:
back database mydb to disk='mydb_bak';
dbcc shinkfile(mydb_log,10);--收縮至10m
F. sqlserver怎麼批量刪除大量數據
用一次性刪除的方法是很不明智的。
1、delete操作會被完整記錄到日誌里,它需要大量空間和時間;
2、如果刪除中間發生中斷,一切刪除會回滾(在一個事務里);
3、同時刪除多行,記錄上的鎖也許會被提升為排它表鎖,從而阻礙操作完成之前有對這個表的操作(有時候會妨礙正常的業務)所以一般採取分批刪除的方法.
所以我們可以通過分批次遷移壓縮數據,這樣可以大大提升執行速度和執行效率
首先通過set rowcount 來控制每次刪除的記錄數
執行Sql語句
SET ROWCOUNT 0; 記錄每次執行刪除的條數
通過TOP的方法,並且使用循環
WHILE 1 = 1
BEGIN
DELETE TOP(5000) FROM dbo.Table WHERE time< '2016-12-12';
IF @@rowcount < 5000
BREAK;
END
G. 處理sqlserver中的特殊字元
只有使用程序結合正則表達式,查找替換了
sql腳本無法直接處理
H. sqlserver怎麼循環
打開sql server management studio管理工具,點擊【新建查詢】菜單按鈕,就會出現一個空白的窗口,這個窗口是用來寫sql語句的,本文所有的演示sql語句都在這個窗口完成
I. 如何釋放Sqlserver所佔得內存
sql server 在查詢大數據量的數據時,總會佔用大量的內存,並且居高不下,一不小心就會死機。 下面這個是我從網上找到的: 當你查詢數據的數據量比較大時,sqlserver會把查詢結果緩存在內存中,保證你下次查詢同樣的記錄時會很快得到結果,所以內存使用量會激增。 在你完成此次查詢後,sqlserver不會馬上釋放內存,數據會仍然放在內存中,這是sqlserver的優化策略,sqlserver會不斷地佔用你的系統內存,來加快sqlserver的運行速度,當你的系統中的其它服務也需要內存時,它才會自動釋放部分內存。一句話,sqlserver不會讓你的系統有閑置的內存,除非你設置sqlserver的最大內存使用量。這樣也沒什麼不好,如果你的系統很大,單獨給sqlserver一台機器,這樣會提高它的性能。 如果你只是開發用,要想讓sqlserver釋放內存,重啟sqlserver的服務就行了。如果不想讓sqlserver佔用太多內存,設置sqlserver的最大內存佔用量. 設置最大內存後效果好了不少!
J. sqlserver為什麼自動關閉
在管理工具的服務中重啟sqlserver的服務
如果不行,重新設置sqlserver服務的啟動選項
還是不行,重新安裝sqlserver2000
但在安裝前先備份資料庫
完全備份