国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

如何監視 SQL Server 2000 阻塞

2024-08-31 00:49:28
字體:
來源:轉載
供稿:網友

概要
本文是以下 microsoft 知識庫文章的 microsoft sql server 2000 版的更新,它適用于 microsoft sql server 7.0:
251004 (http://support.microsoft.com/kb/251004/) 如何監視 sql server 7.0 阻塞
本文提供可用于診斷阻塞和性能問題的存儲過程的用法和設計。有關如何了解和解決阻塞問題的說明,請參閱以下 microsoft 知識庫文章:
224453 (http://support.microsoft.com/kb/224453/) 了解和解決 sql server 7.0 或 2000 阻塞問題


更多信息
對 sp_blocker_pss80 存儲過程的下列描述可捕獲此信息: • 開始時間(視運行 sql server 的計算機而定),以便此阻塞采樣在時間上可以與其他性能信息(如 windows nt 性能監視器日志或 sql 事件探查器日志)一致。
• 有關與 sql server 的連接的信息,通過查詢 sysprocesses 系統表獲取。
• 有關鎖定資源的信息,通過查詢 syslockinfo 系統表獲取。
• 有關資源等待的信息,通過運行 dbcc sqlperf(waitstats) 獲取。
• 用于連接(被其他連接阻塞或者阻塞其他連接)的當前正在運行的 sql server 批處理,通過運行 dbcc inputbuffer 語句獲取。
• 結束時間,視運行 sql server 的計算機而定。
創建該存儲過程時使用了下列優化,從而降低了運行該存儲過程對性能和阻塞的影響: • 除非至少有一個連接在等待資源,否則不生成輸出。
• 直接查詢 master 數據庫中的 sysprocesses 和 syslockinfo 系統表,以提高性能并防止該存儲過程被阻塞。因此,該存儲過程是特定于 microsoft sql server 2000 的。
• 使用光標創建一個小工作表來獲取 dbcc inputbuffer 輸出,這對在 tempdb 數據庫中的使用應沒有太大影響。
• 由于收集信息時阻塞可以更改,因此存在一種快速模式,該模式可將所得到的結果降至 sysprocesses 和 syslockinfo 系統表的相關行,從而提高了性能。
• 如果您試圖跟蹤非鎖定資源等待,則存在一種鎖存模式,該模式可導致鎖定輸出被忽略。
該存儲過程從任何查詢工具運行,都十分有用。但是,microsoft 建議您按照下列步驟來執行阻塞分析: 1. 當使用對計劃要監視的 sql server 服務器或 sql server 實例具有 sysadmin 特權的登錄信息進行連接時,從任何查詢工具創建存儲過程 sp_blocker_pss80(在本文末尾提供)。
2. 創建一個包含以下查詢的腳本文件以循環運行該存儲過程。請注意,延遲應在 5 秒和 60 秒之間:while 1=1
begin
   exec master.dbo.sp_blocker_pss80
   -- or for fast mode
   -- exec master.dbo.sp_blocker_pss80 @fast=1
   -- or for latch mode
   -- exec master.dbo.sp_blocker_pss80 @latch=1
   waitfor delay '00:00:15'
end
go
 
3. 該輸出在與 microsoft windows nt 性能監視器日志和 sql 事件探查器日志結合時非常有用,因此建議同時創建這兩種日志。有關要捕獲哪些事件探查器和性能監視器事件的信息,以及有關如何解釋結果的信息,請參閱下面的 microsoft 知識庫文章:
224453 (http://support.microsoft.com/kb/224453/) 了解和解決 sql server 7.0 或 2000 阻塞問題 
4. 在運行 sql server 的計算機(您要對其進行監視以防止網絡問題導致查詢工具斷開連接)上,在 windows 命令提示符處從 isql.exe 或 osql.exe 查詢工具運行在第 2 步創建的腳本文件。下面是可用于啟動 osql.exe 的示例命令行,它假定客戶端從運行 sql server 的計算機運行,并且腳本文件名為 checkblk.sql。請務必更正 -s 參數,并將“server”替換為 sql server 服務器的名稱(或“servername/instance”,如果您監視的是已命名實例)。此外,還必須更正 -i 參數,并將“checkblk.sql”替換為在第 2 步中創建的腳本文件的路徑和名稱。 osql -e -sserver -icheckblk.sql -ocheckblk.out -w2000
請注意,由于下列原因,您必須使用其他命令行開關:

• 為了防止輸出文件中出現換行(換行可使輸出文件更易于閱讀)。
• 為了將輸出發送到使用 -o 參數指定的文件,而不是發送到屏幕,以便在查詢工具出現問題時,在查詢工具失敗之前仍得到輸出。
 
下面是用于創建 sp_blocker_pss80 存儲過程的腳本: /*
note: this script is meant to have 2 creations of the same stored procedure and one of them will fail
 with either 207 errors or a 2714 error.
*/

use master
go
if exists (select * from sysobjects where id = object_id('dbo.sp_blocker_pss80') and sysstat & 0xf = 4)
   drop procedure dbo.sp_blocker_pss80
go
create procedure sp_blocker_pss80 (@latch int = 0, @fast int = 1)
as
--version 15sp3
set nocount on
declare @spid varchar(6)
declare @blocked varchar(6)
declare @time datetime
declare @time2 datetime
declare @dbname nvarchar(128)
declare @status sql_variant
declare @useraccess sql_variant

set @time = getdate()
declare @probclients table(spid smallint, ecid smallint, blocked smallint, waittype binary(2), dbid smallint,
   ignore_app tinyint, primary key (blocked, spid, ecid))
insert @probclients select spid, ecid, blocked, waittype, dbid,
   case when convert(varchar(128),hostname) = 'pssdiag' then 1 else 0 end
   from sysprocesses where blocked!=0 or waittype != 0x0000

if exists (select spid from @probclients where ignore_app != 1 or waittype != 0x020b)
begin
   set @time2 = getdate()
   print ''
   print '8.2 start time: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time2))

   insert @probclients select distinct blocked, 0, 0, 0x0000, 0, 0 from @probclients
      where blocked not in (select spid from @probclients) and blocked != 0

   if (@fast = 1)
   begin
      print ''
      print 'sysprocesses ' + isnull (@@servername,'(null)') + ' ' + str(@@microsoftversion)

      select spid, status, blocked, open_tran, waitresource, waittype,
         waittime, cmd, lastwaittype, cpu, physical_io,
         memusage, last_batch=convert(varchar(26), last_batch,121),
         login_time=convert(varchar(26), login_time,121),net_address,
         net_library, dbid, ecid, kpid, hostname, hostprocess,
         loginame, program_name, nt_domain, nt_username, uid, sid,
         sql_handle, stmt_start, stmt_end
      from master..sysprocesses
      where blocked!=0 or waittype != 0x0000
         or spid in (select blocked from @probclients where blocked != 0)
         or spid in (select spid from @probclients where blocked != 0)

      print 'esp ' + convert(varchar(12), datediff(ms,@time2,getdate()))

      print ''
      print 'sysproc first pass'
      select spid, ecid, waittype from @probclients where waittype != 0x0000

      if exists(select blocked from @probclients where blocked != 0)
      begin
         print 'blocking via locks at ' + convert(varchar(26), @time, 121)
         print ''
         print 'spids at the head of blocking chains'
         select spid from @probclients
            where blocked = 0 and spid in (select blocked from @probclients where spid != 0)
         if @latch = 0
         begin
            print 'syslockinfo'
            select @time2 = getdate()

            select spid = convert (smallint, req_spid),
               ecid = convert (smallint, req_ecid),
               rsc_dbid as dbid,
               rsc_objid as objid,
               rsc_indid as indid,
               type = case rsc_type when 1 then 'nul'
                                    when 2 then 'db'
                                    when 3 then 'fil'
                                    when 4 then 'idx'
                                    when 5 then 'tab'
                                    when 6 then 'pag'
                                    when 7 then 'key'
                                    when 8 then 'ext'
                                    when 9 then 'rid'
                                    when 10 then 'app' end,
               resource = substring (rsc_text, 1, 16),
               mode = case req_mode + 1 when 1 then null
                                        when 2 then 'sch-s'
                                        when 3 then 'sch-m'
                                        when 4 then 's'
                                        when 5 then 'u'
                                        when 6 then 'x'
                                        when 7 then 'is'
                                        when 8 then 'iu'
                                        when 9 then 'ix'
                                        when 10 then 'siu'
                                        when 11 then 'six'
                                        when 12 then 'uix'
                                        when 13 then 'bu'
                                        when 14 then 'ranges-s'
                                        when 15 then 'ranges-u'
                                        when 16 then 'rangein-null'
                                        when 17 then 'rangein-s'
                                        when 18 then 'rangein-u'
                                        when 19 then 'rangein-x'
                                        when 20 then 'rangex-s'
                                        when 21 then 'rangex-u'
                                        when 22 then 'rangex-x'end,
               status = case req_status when 1 then 'grant'
                                        when 2 then 'cnvt'
                                        when 3 then 'wait' end,
               req_transactionid as transid, req_transactionuow as transuow
            from master.dbo.syslockinfo s,
               @probclients p
            where p.spid = s.req_spid

            print 'esl ' + convert(varchar(12), datediff(ms,@time2,getdate()))
         end -- latch not set
      end
      else
         print 'no blocking via locks at ' + convert(varchar(26), @time, 121)
      print ''
   end  -- fast set

   else
   begin  -- fast not set
      print ''
      print 'sysprocesses ' + isnull (@@servername,'(null)') + ' ' + str(@@microsoftversion)

      select spid, status, blocked, open_tran, waitresource, waittype,
         waittime, cmd, lastwaittype, cpu, physical_io,
         memusage, last_batch=convert(varchar(26), last_batch,121),
         login_time=convert(varchar(26), login_time,121),net_address,
         net_library, dbid, ecid, kpid, hostname, hostprocess,
         loginame, program_name, nt_domain, nt_username, uid, sid,
         sql_handle, stmt_start, stmt_end
      from master..sysprocesses

      print 'esp ' + convert(varchar(12), datediff(ms,@time2,getdate()))

      print ''
      print 'sysproc first pass'
      select spid, ecid, waittype from @probclients where waittype != 0x0000

      if exists(select blocked from @probclients where blocked != 0)
      begin
         print 'blocking via locks at ' + convert(varchar(26), @time, 121)
         print ''
         print 'spids at the head of blocking chains'
         select spid from @probclients
         where blocked = 0 and spid in (select blocked from @probclients where spid != 0)
         if @latch = 0
         begin
            print 'syslockinfo'
            select @time2 = getdate()

            select spid = convert (smallint, req_spid),
               ecid = convert (smallint, req_ecid),
               rsc_dbid as dbid,
               rsc_objid as objid,
               rsc_indid as indid,
               type = case rsc_type when 1 then 'nul'
                                    when 2 then 'db'
                                    when 3 then 'fil'
                                    when 4 then 'idx'
                                    when 5 then 'tab'
                                    when 6 then 'pag'
                                    when 7 then 'key'
                                    when 8 then 'ext'
                                    when 9 then 'rid'
                                    when 10 then 'app' end,
               resource = substring (rsc_text, 1, 16),
               mode = case req_mode + 1 when 1 then null
                                        when 2 then 'sch-s'
                                        when 3 then 'sch-m'
                                        when 4 then 's'
                                        when 5 then 'u'
                                        when 6 then 'x'
                                        when 7 then 'is'
                                        when 8 then 'iu'
                                        when 9 then 'ix'
                                        when 10 then 'siu'
                                        when 11 then 'six'
                                        when 12 then 'uix'
                                        when 13 then 'bu'
                                        when 14 then 'ranges-s'
                                        when 15 then 'ranges-u'
                                        when 16 then 'rangein-null'
                                        when 17 then 'rangein-s'
                                        when 18 then 'rangein-u'
                                        when 19 then 'rangein-x'
                                        when 20 then 'rangex-s'
                                        when 21 then 'rangex-u'
                                        when 22 then 'rangex-x'end,
               status = case req_status when 1 then 'grant'
                                        when 2 then 'cnvt'
                                        when 3 then 'wait' end,
               req_transactionid as transid, req_transactionuow as transuow
            from master.dbo.syslockinfo

            print 'esl ' + convert(varchar(12), datediff(ms,@time2,getdate()))
         end -- latch not set
      end
      else
        print 'no blocking via locks at ' + convert(varchar(26), @time, 121)
      print ''
   end -- fast not set

   print 'dbcc sqlperf(waitstats)'
   dbcc sqlperf(waitstats)

   print ''
   print '*********************************************************************'
   print 'print out dbcc input buffer for all blocked or blocking spids.'
   print '*********************************************************************'

   declare ibuffer cursor fast_forward for
   select cast (spid as varchar(6)) as spid, cast (blocked as varchar(6)) as blocked
   from @probclients
   where (spid <> @@spid) and
      ((blocked!=0 or (waittype != 0x0000 and ignore_app = 0))
      or spid in (select blocked from @probclients where blocked != 0))
   open ibuffer
   fetch next from ibuffer into @spid, @blocked
   while (@@fetch_status != -1)
   begin
      print ''
      print 'dbcc inputbuffer for spid ' + @spid
      exec ('dbcc inputbuffer (' + @spid + ')')

      fetch next from ibuffer into @spid, @blocked
   end
   deallocate ibuffer

   print ''
   print '*******************************************************************************'
   print 'print out dbcc opentran for active databases for all blocked or blocking spids.'
   print '*******************************************************************************'
   declare ibuffer cursor fast_forward for
   select distinct cast (dbid as varchar(6)) from @probclients
   where dbid != 0
   open ibuffer
   fetch next from ibuffer into @spid
   while (@@fetch_status != -1)
   begin
      print ''
      set @dbname = db_name(@spid)
      set @status = databasepropertyex(@dbname,'status')
      set @useraccess = databasepropertyex(@dbname,'useraccess')
      print 'dbcc opentran for dbid ' + @spid + ' ['+ @dbname + ']'
      if @status = n'online' and @useraccess != n'single_user'
         dbcc opentran(@dbname)
      else
         print 'skipped: status=' + convert(nvarchar(128),@status)
            + ' useraccess=' + convert(nvarchar(128),@useraccess)

      print ''
      if @spid = '2' select @blocked = 'y'
      fetch next from ibuffer into @spid
   end
   deallocate ibuffer
   if @blocked != 'y'
   begin
      print ''
      print 'dbcc opentran for dbid  2 [tempdb]'
      dbcc opentran ('tempdb')
   end

   print 'end time: ' + convert(varchar(26), getdate(), 121)
end -- all
else
  print '8 no waittypes: ' + convert(varchar(26), @time, 121) + ' '
     + convert(varchar(12), datediff(ms,@time,getdate())) + ' ' + isnull (@@servername,'(null)')
go

create proc sp_blocker_pss80 (@latch int = 0, @fast int = 1)
as
--version 15
set nocount on
declare @spid varchar(6)
declare @blocked varchar(6)
declare @time datetime
declare @time2 datetime
declare @dbname nvarchar(128)
declare @status sql_variant
declare @useraccess sql_variant

set @time = getdate()
declare @probclients table(spid smallint, ecid smallint, blocked smallint, waittype binary(2), dbid smallint,
   ignore_app tinyint, primary key (blocked, spid, ecid))
insert @probclients select spid, ecid, blocked, waittype, dbid,
   case when convert(varchar(128),hostname) = 'pssdiag' then 1 else 0 end
   from sysprocesses where blocked!=0 or waittype != 0x0000

if exists (select spid from @probclients where ignore_app != 1 or waittype != 0x020b)
begin
   set @time2 = getdate()
   print ''
   print '8 start time: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time2))

   insert @probclients select distinct blocked, 0, 0, 0x0000, 0, 0 from @probclients
      where blocked not in (select spid from @probclients) and blocked != 0

   if (@fast = 1)
   begin
      print ''
      print 'sysprocesses ' + isnull (@@servername,'(null)') + ' ' + str(@@microsoftversion)

      select spid, status, blocked, open_tran, waitresource, waittype,
         waittime, cmd, lastwaittype, cpu, physical_io,
         memusage,last_batch=convert(varchar(26), last_batch,121),
         login_time=convert(varchar(26), login_time,121), net_address,
         net_library, dbid, ecid, kpid, hostname, hostprocess,
         loginame, program_name, nt_domain, nt_username, uid, sid
      from master..sysprocesses
      where blocked!=0 or waittype != 0x0000
         or spid in (select blocked from @probclients where blocked != 0)
         or spid in (select spid from @probclients where waittype != 0x0000)

      print 'esp ' + convert(varchar(12), datediff(ms,@time2,getdate()))

      print ''
      print 'sysproc first pass'
      select spid, ecid, waittype from @probclients where waittype != 0x0000

      if exists(select blocked from @probclients where blocked != 0)
      begin
         print 'blocking via locks at ' + convert(varchar(26), @time, 121)
         print ''
         print 'spids at the head of blocking chains'
         select spid from @probclients
            where blocked = 0 and spid in (select blocked from @probclients where spid != 0)
         if @latch = 0
         begin
            print 'syslockinfo'
            select @time2 = getdate()

            select spid = convert (smallint, req_spid),
               ecid = convert (smallint, req_ecid),
               rsc_dbid as dbid,
               rsc_objid as objid,
               rsc_indid as indid,
               type = case rsc_type when 1 then 'nul'
                                    when 2 then 'db'
                                    when 3 then 'fil'
                                    when 4 then 'idx'
                                    when 5 then 'tab'
                                    when 6 then 'pag'
                                    when 7 then 'key'
                                    when 8 then 'ext'
                                    when 9 then 'rid'
                                    when 10 then 'app' end,
               resource = substring (rsc_text, 1, 16),
               mode = case req_mode + 1 when 1 then null
                                        when 2 then 'sch-s'
                                        when 3 then 'sch-m'
                                        when 4 then 's'
                                        when 5 then 'u'
                                        when 6 then 'x'
                                        when 7 then 'is'
                                        when 8 then 'iu'
                                        when 9 then 'ix'
                                        when 10 then 'siu'
                                        when 11 then 'six'
                                        when 12 then 'uix'
                                        when 13 then 'bu'
                                        when 14 then 'ranges-s'
                                        when 15 then 'ranges-u'
                                        when 16 then 'rangein-null'
                                        when 17 then 'rangein-s'
                                        when 18 then 'rangein-u'
                                        when 19 then 'rangein-x'
                                        when 20 then 'rangex-s'
                                        when 21 then 'rangex-u'
                                        when 22 then 'rangex-x'end,
               status = case req_status when 1 then 'grant'
                                        when 2 then 'cnvt'
                                        when 3 then 'wait' end,
               req_transactionid as transid, req_transactionuow as transuow
            from master.dbo.syslockinfo s,
               @probclients p
            where p.spid = s.req_spid

            print 'esl ' + convert(varchar(12), datediff(ms,@time2,getdate()))
         end -- latch not set
      end
      else
         print 'no blocking via locks at ' + convert(varchar(26), @time, 121)
      print ''
   end  -- fast set

   else
   begin  -- fast not set
      print ''
      print 'sysprocesses ' + isnull (@@servername,'(null)') + ' ' + str(@@microsoftversion)

      select spid, status, blocked, open_tran, waitresource, waittype,
         waittime, cmd, lastwaittype, cpu, physical_io,
         memusage,last_batch=convert(varchar(26), last_batch,121),
         login_time=convert(varchar(26), login_time,121), net_address,
         net_library, dbid, ecid, kpid, hostname, hostprocess,
         loginame, program_name, nt_domain, nt_username, uid, sid
      from master..sysprocesses

      print 'esp ' + convert(varchar(12), datediff(ms,@time2,getdate()))

      print ''
      print 'sysproc first pass'
      select spid, ecid, waittype from @probclients where waittype != 0x0000

      if exists(select blocked from @probclients where blocked != 0)
      begin
         print 'blocking via locks at ' + convert(varchar(26), @time, 121)
         print ''
         print 'spids at the head of blocking chains'
         select spid from @probclients
         where blocked = 0 and spid in (select blocked from @probclients where spid != 0)
         if @latch = 0
         begin
            print 'syslockinfo'
            select @time2 = getdate()

            select spid = convert (smallint, req_spid),
               ecid = convert (smallint, req_ecid),
               rsc_dbid as dbid,
               rsc_objid as objid,
               rsc_indid as indid,
               type = case rsc_type when 1 then 'nul'
                                    when 2 then 'db'
                                    when 3 then 'fil'
                                    when 4 then 'idx'
                                    when 5 then 'tab'
                                    when 6 then 'pag'
                                    when 7 then 'key'
                                    when 8 then 'ext'
                                    when 9 then 'rid'
                                    when 10 then 'app' end,
               resource = substring (rsc_text, 1, 16),
               mode = case req_mode + 1 when 1 then null
                                        when 2 then 'sch-s'
                                        when 3 then 'sch-m'
                                        when 4 then 's'
                                        when 5 then 'u'
                                        when 6 then 'x'
                                        when 7 then 'is'
                                        when 8 then 'iu'
                                        when 9 then 'ix'
                                        when 10 then 'siu'
                                        when 11 then 'six'
                                        when 12 then 'uix'
                                        when 13 then 'bu'
                                        when 14 then 'ranges-s'
                                        when 15 then 'ranges-u'
                                        when 16 then 'rangein-null'
                                        when 17 then 'rangein-s'
                                        when 18 then 'rangein-u'
                                        when 19 then 'rangein-x'
                                        when 20 then 'rangex-s'
                                        when 21 then 'rangex-u'
                                        when 22 then 'rangex-x'end,
               status = case req_status when 1 then 'grant'
                                        when 2 then 'cnvt'
                                        when 3 then 'wait' end,
               req_transactionid as transid, req_transactionuow as transuow
            from master.dbo.syslockinfo

            print 'esl ' + convert(varchar(12), datediff(ms,@time2,getdate()))
         end -- latch not set
      end
      else
        print 'no blocking via locks at ' + convert(varchar(26), @time, 121)
      print ''
   end -- fast not set

   print 'dbcc sqlperf(waitstats)'
   dbcc sqlperf(waitstats)

   print ''
   print '*********************************************************************'
   print 'print out dbcc input buffer for all blocked or blocking spids.'
   print '*********************************************************************'

   declare ibuffer cursor fast_forward for
   select cast (spid as varchar(6)) as spid, cast (blocked as varchar(6)) as blocked
   from @probclients
   where (spid <> @@spid) and
      ((blocked!=0 or (waittype != 0x0000 and ignore_app = 0))
      or spid in (select blocked from @probclients where blocked != 0))
   open ibuffer
   fetch next from ibuffer into @spid, @blocked
   while (@@fetch_status != -1)
   begin
      print ''
      print 'dbcc inputbuffer for spid ' + @spid
      exec ('dbcc inputbuffer (' + @spid + ')')

      fetch next from ibuffer into @spid, @blocked
   end
   deallocate ibuffer

   print ''
   print '*******************************************************************************'
   print 'print out dbcc opentran for active databases for all blocked or blocking spids.'
   print '*******************************************************************************'
   declare ibuffer cursor fast_forward for
   select distinct cast (dbid as varchar(6)) from @probclients
   where dbid != 0
   open ibuffer
   fetch next from ibuffer into @spid
   while (@@fetch_status != -1)
   begin
      print ''
      set @dbname = db_name(@spid)
      set @status = databasepropertyex(@dbname,'status')
      set @useraccess = databasepropertyex(@dbname,'useraccess')
      print 'dbcc opentran for dbid ' + @spid + ' ['+ @dbname + ']'
      if @status = n'online' and @useraccess != n'single_user'
         dbcc opentran(@dbname)
      else
         print 'skipped: status=' + convert(nvarchar(128),@status)
            + ' useraccess=' + convert(nvarchar(128),@useraccess)

      print ''
      if @spid = '2' select @blocked = 'y'
      fetch next from ibuffer into @spid
   end
   deallocate ibuffer
   if @blocked != 'y'
   begin
      print ''
      print 'dbcc opentran for dbid  2 [tempdb]'
      dbcc opentran ('tempdb')
   end

   print 'end time: ' + convert(varchar(26), getdate(), 121)
end -- all
else
  print '8 no waittypes: ' + convert(varchar(26), @time, 121) + ' '
     + convert(varchar(12), datediff(ms,@time,getdate())) + ' ' + isnull (@@servername,'(null)')
go
   

--------------------------------------------------------------------------------

這篇文章中的信息適用于:
• microsoft sql server 2000 desktop engine (windows)
• microsoft sql server 2000 developer edition
• microsoft sql server 2000 enterprise edition
• microsoft sql server 2000 enterprise edition
• microsoft sql server 2000 personal edition service pack 3
• microsoft sql server 2000 標準版

 回到頂端

關鍵字:  kbinfo kb271509

microsoft和/或其各供應商對于為任何目的而在本服務器上發布的文件及有關圖形所含信息的適用性,不作任何聲明。 所有該等文件及有關圖形均"依樣"提供,而不帶任何性質的保證。microsoft和/或其各供應商特此聲明,對所有與該等信息有關的保證和條件不負任何責任,該等保證和條件包括關于適銷性、符合特定用途、所有權和非侵權的所有默示保證和條件。在任何情況下,在由于使用或運行本服務器上的信息所引起的或與該等使用或運行有關的訴訟中,microsoft和/或其各供應商就因喪失使用、數據或利潤所導致的任何特別的、


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普格县| 涪陵区| 临洮县| 积石山| 井研县| 乐业县| 台北市| 盱眙县| 德庆县| 梁平县| 沅陵县| 岑溪市| 家居| 马鞍山市| 增城市| 登封市| 乌兰浩特市| 遂宁市| 鲁山县| 沾益县| 南通市| 隆子县| 金山区| 兴宁市| 太康县| 隆安县| 丁青县| 怀远县| 项城市| 明光市| 铁岭市| 丰城市| 六枝特区| 隆回县| 平潭县| 定结县| 乌海市| 寿宁县| 晋中市| 邹城市| 涪陵区|