Quick to build a testing web site to access SQL Server

Classic ASPHow to access SQL Server in Active Server Pageshttp://support.microsoft.com/kb/169377/en-us ASP.NET 1.1逐步解說:在 Web Form 網頁中顯示資料Visual Studio .NET 2003 http://msdn.microsoft.com/zh-tw/library/cc438239(v=vs.71).aspx Walkthrough: Basic Data Access in Web Pages  Visual Studio 2005http://msdn.microsoft.com/en-us/library/tw738475(v=vs.80).aspx Walkthrough: Basic Data Access in Web PagesVisual Studio 2008http://msdn.microsoft.com/en-us/library/tw738475(v=vs.90).aspx Walkthrough: Basic Data Access in Web Pages.NET Framework 4http://msdn.microsoft.com/en-us/library/tw738475(v=vs.100).aspx

0

How to Rename SQL Server Cluster Virtual Server Name(Network name)

How to Rename SQL Server Cluster Virtual Server Name(Network name) Rename a SQL Server Failover Cluster Instance http://msdn.microsoft.com/en-us/library/ms178083.aspx The name of the virtual server is always the same as the name of the SQL Network Name (the SQL Virtual Server Network Name). Although you can change the name of the virtual server, you cannot change…

0

立即中斷所有SQL Server連線

立即中斷所有SQL Server連線   1.針對單一資料庫的連線 範例:將Northwind資料庫設定為只能有一個連線,並中斷其他連線–中斷Northwind資料庫的所有連線USE masterGOALTER DATABASE [Northwind]SET SINGLE_USERWITH ROLLBACK IMMEDIATE;GO –復原為一般多人連線USE masterGOALTER DATABASE [Northwind]SET MULTI_USERWITH ROLLBACK IMMEDIATE;GO 2.針對所有SQL Server連線(1)查出現有連線,一一刪除EXEC sp_who KILL spid號碼 (2)使用T-SQL 的SURSOR取出所有非系統spid,一次全部刪除 USE masterGODECLARE @spid_number intDECLARE @sql_text varchar(100) DECLARE CUR CURSOR FORSELECT [spid] FROM master..sysprocessesWHERE [spid] > 50 and [spid] <> @@spid OPEN CURFETCH CUR INTO @spid_number WHILE (@@FETCH_STATUS=0)BEGIN SET @sql_text =…

0

SQLDiag工具程式Bug-Buffer overrun detected

SQLDiag工具程式Bug-Buffer overrun detected   當SQL Server 2000升級到SP4之後,SQLDiag.exe工具已被更新到SP4的版本,此版本有個Bug,執行後會出現以下的錯誤訊息: 解決方法1微軟的KB902955-此Bug已有hotfix,若要取得此hotfix需連絡Microsoft產品支援服務FIX: 當您執行 Sqldiag.exe 公用程式安裝 SQL Server 2000 SP 4 之後, 您收到 「 取得登錄資訊 」 訊息解決方法2將SQLDiag.exe更名,然後從SQL Server 2000安裝光碟將原始的SQLDiag.exe複製出來使用

0

SQLDiag工具程式的使用

SQLDiag工具程式的使用   前言:SQLDiag是SQL Server內建的診斷收集共用程式, [SQL Server 2005]預設位置:C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLDiag.exe你可以在任何路徑下執行SQLDiag因為此路徑已被加到path系統變數,執行sqldiag -?或sqldiag /?即可顯示參數說明 SQL 2005的sqldiag搭配參數請使用正斜線”/” SQLdiag 可以收集下列類型的診斷資訊:Windows 效能記錄Windows 事件記錄檔SQL Server Profiler 追蹤SQL Server 封鎖資訊SQL Server 組態資訊 http://technet.microsoft.com/zh-tw/library/ms162833.aspx 一般使用:例如: sqldiag /O C:\temp\sqldiag(/O 指定輸出檔案的目錄)最下方會出現2008/07/01 00:34:42.82 SQLDIAG Collection started. Press Ctrl+C to stop.表示正在收集中在此時按下Ctrl+C即可停止收集 收集的資訊會儲存在指定的C:\temp\sqldiag\目錄下,其中數個log_xx.trc檔是從C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\路徑下所複製的 進階收集: 修改並指定xml檔,來收集Performance Counter的資訊 [SQL Server 2000]預設位置:C:\Program Files\Microsoft SQL Server\MSSQL\Binn\SQLDiag.exe切換目錄到此位置後執行sqldiag -?或sqldiag /?即可顯示參數說明SQL 2000的sqldiag搭配參數執行要使用”-“例如:…

0

SQL 2000 Determine primary key from system table 列出所有Primary Key

SQL 2000 Determine primary key from system table 列出所有Primary Key  SELECT object_name(a.[id]) as [TableName],object_name(a.constid) as [PK_name],b.[name] as [PK_Column]FROM sysconstraints a inner join syscolumns bon a.[colid]+1 = b.[colid] and a.[id] = b.[id]WHERE a.status = 2593 PS. Status=2593還未找到確認的文件說明,另外覆合Key可能不適用

0

Listing space used information in each database files

Listing space used information in each database files — SQL Server 2000請將 sys.databases改成sysdatabases– 第欄是資料使用大小單位是KB CREATE TABLE #db_space([DBname] NVARCHAR(50),[Fileid] NVARCHAR(10),[Filegroup] NVARCHAR(10),[TotalExtents] int,[UsedExtents] int,[Name] NVARCHAR(50),[FileName] NVARCHAR(300),);GO DECLARE @name sysnameDECLARE cur cursor for SELECT [name] FROM sys.databases WHERE [name] not in (‘master’,’msdb’,’tempdb’,’model’)OPEN curFETCH cur INTO @nameWHILE @@fetch_status = 0BEGIN–Print @nameBEGIN TRANINSERT INTO #db_space([Fileid],[Filegroup],[TotalExtents],[UsedExtents],[Name],[FileName])EXEC(‘USE ‘+@name+’ ;DBCC SHOWFILESTATS;’);COMMIT TRAN BEGIN…

0

SQL Server 2000 xp_cmdshell移除與回復

SQL Server 2000 xp_cmdshell移除與回復 1.xp_cmdshell是一個延伸預存程序,可以讓T-SQL執行shell command   2.SQL Server 2000 預設是啟用xp_cmdshell,而SQL Server 2005預設是停用的,可使用 [SQL Server 介面區組態] 將此功能啟用 3.預設值只有System Administrator角色可以執行xp_cmdshell [安全考量]雖然預設值只有System Administrator角色可以執行xp_cmdshell,當系統不幸遭遇SQL Injection攻擊,而程式沒做進一步的防禦時,而SQL Server安裝時又習慣以本機系統帳戶來啟動SQL Server,此時攻擊者則可以下dir或del等命令取得檔案目錄資訊或刪除檔案等動作,或進一步下net user等命令建立Windows管理員帳戶,或些改OS系統設定,此時等於整台系統都被駭客接管了 因此,如果不需要用到xp_cmdshell,可以考慮將xp_cmdshell移除,以下說明兩種移除法1.T-SQL Command 移除法2.Enterprise Manager 移除法(UI圖形介面) — [T-SQL Command 移除法]– 移除xp_cmdshell, 從SQL Server移除後– 更進一步可以把dll檔都刪除, 補充1的命令可以查出dll檔名稱USE masterGOEXEC sp_dropextendedproc ‘xp_cmdshell’GO — 執行以下命令來測試xp_cmdshell目前是否可用xp_cmdshell ‘dir c:\’ — 如果將來又需要使用的時候,執行以下回復命令將xp_cmdshell加回來– 執行此命令的前提是xplog70.dll檔需存在USE masterGOEXEC sp_addextendedproc ‘xp_cmdshell’, ‘xplog70.dll’GO — [補充1]:此命令可以查出xp_cmdshell的dll檔的名稱SELECT…

0

錯誤22002:RegCreateKeyEx()傳回錯誤5,存取被拒(Microsoft SQL-DMO ODBC SQL狀態: 42000)

錯誤22002:RegCreateKeyEx()傳回錯誤5,存取被拒(Microsoft SQL-DMO ODBC SQL狀態: 42000) SQL Server 2000  為了符合最低權限要求,通常會將SQL Server與SQL Agent啟動帳戶都改為Local Windows User account,後來再去Enterprise Manager config一些組態設定卻出現此錯誤訊息,回家重新再翻了一下MCSE Training Kit – SQL Server 2000 System Administrator 猜想可能是機碼權限問題,果然解決了,提供給大家參考參考 [狀況]當設定SQL Server啟動帳戶改為一般local user account或domain user account之後,再到Enterprise Manager設定SQL Server屬性(組態),將SQL Server或SQL Server Agent 勾選[自動啟動]就會出現此錯誤訊息 [原因]使用Enterprise Manager修改SQL Server啟動帳戶,雖然可以將啟動帳戶自動賦予應有的權限,但登錄檔仍須做一些權限修改才能排除此錯誤訊息 [解法]1.啟動登錄檔編輯器2.修改前先備份登錄檔3.找到以下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer若是具名個體HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$InstanceName HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT若是具名個體HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLAgent$InstanceName 4.在以上機碼右鍵,選擇[使用權限]加入一筆新設定SQL Server啟動帳戶,權限設定為[完全控制]做完後直接在到Enterprise Manager勾選 自動啟動SQL Server,應該就不會再出現錯誤訊息了

0