none
關於SQL 2005 32bit DB 移轉到 SQL 2005 64bit RRS feed

  • 問題

  • 請教各位大大

    如同題目問題,要如何將SQL 2005 32bit DB 移轉到另一台 SQL 2005 64bit上

    兩台是不同Server

    位元不一樣是否可行呢?該怎麼做??

    麻煩大大解答


    • 已編輯 Nerco.co 2012年7月27日 下午 01:23
    2012年7月27日 下午 01:20

解答

  • Hi~感謝各位先進回答

    本身我非常少碰DB這塊,有點知識不足~剛查了好久不知用何種軟體將SQL DB備份再還原

    是有查到SQL Server Management Studio備份還原~~~不確定是否可以用來移轉(不熟)有大大知道嗎?

    要不然就是用Symantec BESR 直接備份DB檔案,還原到新機再掛回SQL(不知道這樣可行嗎?)

    如果是這樣~除了帳號密碼部分,如同 Daniel 說的該注意(我們SQL是用混和模式~SQL驗證跟整合都有)

    那還有哪些該注意的部分??交易記錄或索引??這些該轉嗎?

    另外Ricoisme大有提到轉2012~~在轉到2005同樣也是同樣方法嗎?你的的步驟我有點看不太懂~太深奧.....

    對了~SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    這兩者看起來感覺好像依樣???

    http://www.microsoft.com/taiwan/sql/prodinfo/features/compare-features.mspx

    文章的方法也適用SQL2005(因為你不是升級,所以直接看 Exercise 2: Performing Database Upgrade ),

    你有幾個方法移轉舊執行個體資料庫到新的執行個體上,開啟SSMS來執行就可以了

    Backup / Restore  Data Tier Applications   Copy Database Wizard   Detach/Attach

    帳號密碼一定要注意的,因為SQL Instance不同一定會造成孤兒使用者

    我後來不是有一篇使用SSIS軟體直接複製資料庫和登入帳戶嗎?你有參考過嗎?


    保證解答-微軟技術支援服務

    • 已標示為解答 Nerco.co 2012年8月1日 上午 02:35
    2012年7月31日 下午 03:49
    版主
  • Hi~感謝各位先進回答

    本身我非常少碰DB這塊,有點知識不足~剛查了好久不知用何種軟體將SQL DB備份再還原

    是有查到SQL Server Management Studio備份還原~~~不確定是否可以用來移轉(不熟)有大大知道嗎?

    要不然就是用Symantec BESR 直接備份DB檔案,還原到新機再掛回SQL(不知道這樣可行嗎?)

    如果是這樣~除了帳號密碼部分,如同 Daniel 說的該注意(我們SQL是用混和模式~SQL驗證跟整合都有)

    那還有哪些該注意的部分??交易記錄或索引??這些該轉嗎?

    另外Ricoisme大有提到轉2012~~在轉到2005同樣也是同樣方法嗎?你的的步驟我有點看不太懂~太深奧.....

    對了~SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    這兩者看起來感覺好像依樣???

    http://www.microsoft.com/taiwan/sql/prodinfo/features/compare-features.mspx

    Hi

    除了孤兒使用者的問題以外,還有SQL Agent內的Job移轉問題

    這部分一樣可以透過SQL Server Management Studio把Job匯出成SQL Command,放到新的SQL Server上執行就好

    以下是整個資料庫移轉的步驟,你可以參考看看

    您可以先透過SQL Server Management Studio將檔案先行備份一次,然後還原到新的SQL Server上

    然後透過SQL Server Management Studio連線到舊的SQL中(32Bit),將下列語法輸入到查詢中並執行

    USE master
    GO
    IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
    DROP PROCEDURE sp_hexadecimal
    GO
    CREATE PROCEDURE sp_hexadecimal
    @binvalue varbinary(256),
    @hexvalue varchar (514) OUTPUT
    AS
    DECLARE @charvalue varchar (514)
    DECLARE @i int
    DECLARE @length int
    DECLARE @hexstring char(16)
    SELECT @charvalue = '0x'
    SELECT @i = 1
    SELECT @length = DATALENGTH (@binvalue)
    SELECT @hexstring = '0123456789ABCDEF'
    WHILE (@i <= @length)
    BEGIN
    DECLARE @tempint int
    DECLARE @firstint int
    DECLARE @secondint int
    SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
    SELECT @firstint = FLOOR(@tempint/16)
    SELECT @secondint = @tempint - (@firstint*16)
    SELECT @charvalue = @charvalue +
    SUBSTRING(@hexstring, @firstint+1, 1) +
    SUBSTRING(@hexstring, @secondint+1, 1)
    SELECT @i = @i + 1
    END
    
    SELECT @hexvalue = @charvalue
    GO
     
    IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
    DROP PROCEDURE sp_help_revlogin
    GO
    CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
    DECLARE @name sysname
    DECLARE @type varchar (1)
    DECLARE @hasaccess int
    DECLARE @denylogin int
    DECLARE @is_disabled int
    DECLARE @PWD_varbinary  varbinary (256)
    DECLARE @PWD_string  varchar (514)
    DECLARE @SID_varbinary varbinary (85)
    DECLARE @SID_string varchar (514)
    DECLARE @tmpstr  varchar (1024)
    DECLARE @is_policy_checked varchar (3)
    DECLARE @is_expiration_checked varchar (3)
    
    DECLARE @defaultdb sysname
     
    IF (@login_name IS NULL)
    DECLARE login_curs CURSOR FOR
    
    SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
    ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name <> 'sa'
    ELSE
    DECLARE login_curs CURSOR FOR
    
    
    SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
    ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name = @login_name
    OPEN login_curs
    
    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
    IF (@@fetch_status = -1)
    BEGIN
    PRINT 'No login(s) found.'
    CLOSE login_curs
    DEALLOCATE login_curs
    RETURN -1
    END
    SET @tmpstr = '/* sp_help_revlogin script '
    PRINT @tmpstr
    SET @tmpstr = '** Generated ' + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
    PRINT @tmpstr
    PRINT ''
    WHILE (@@fetch_status <> -1)
    BEGIN
    IF (@@fetch_status <> -2)
    BEGIN
    PRINT ''
    SET @tmpstr = '-- Login:' + @name
    PRINT @tmpstr
    IF (@type IN ( 'G', 'U'))
    BEGIN -- NT authenticated account/group
    
    SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']'
    END
    ELSE BEGIN -- SQL Server authentication
    -- obtain password and sid
    SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' ) AS varbinary (256) )
    EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
    EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
     
    -- obtain password policy state
    SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
    SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
     
    SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' WITH PASSWORD = ' + @PWD_string + ' HASHED, SID = ' + @SID_string + ', DEFAULT_DATABASE = [' + @defaultdb + ']'
    
    IF ( @is_policy_checked IS NOT NULL )
    BEGIN
    SET @tmpstr = @tmpstr + ', CHECK_POLICY = ' + @is_policy_checked
    END
    IF ( @is_expiration_checked IS NOT NULL )
    BEGIN
    SET @tmpstr = @tmpstr + ', CHECK_EXPIRATION = ' + @is_expiration_checked
    END
    END
    IF (@denylogin = 1)
    BEGIN -- login is denied access
    SET @tmpstr = @tmpstr + '; DENY CONNECT SQL TO ' + QUOTENAME( @name )
    END
    ELSE IF (@hasaccess = 0)
    BEGIN -- login exists but does not have access
    SET @tmpstr = @tmpstr + '; REVOKE CONNECT SQL TO ' + QUOTENAME( @name )
    END
    IF (@is_disabled = 1)
    BEGIN -- login is disabled
    SET @tmpstr = @tmpstr + '; ALTER LOGIN ' + QUOTENAME( @name ) + ' DISABLE'
    END
    PRINT @tmpstr
    END
    
    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
    END
    CLOSE login_curs
    DEALLOCATE login_curs
    RETURN 0
    GO

    執行完畢後,結果的窗格將會出現一些語法,請複製下來

    然後用SQL Server Management Studio連線到新的SQL中(64Bit)

    把剛剛複製下來的結果貼在查詢中並執行,就完成了帳號與密碼的傳送

    並試著以Application所使用的SQL帳號用SQL Server Management Studio去登入看看是否可以正常存取DB

    如果可以,您在找個時間點,用SQL Server Management Studio透過卸離\附加的方式將資料庫一次搬移就不會有資料遺失的問題

    如果執行個體的名稱都是相同的,將資料庫掛載到新的主機後,您可以將舊有SQL Server的IP更換到新的SQL中

    如果需要更換Hostname,請參考德瑞克老師的文章重新命名 SQL Server 作業系統的電腦名稱後之修正作業;修正 @@servername 之問題


    Best Regards, Daniel Liang


    • 已編輯 Daniel-Liang 2012年7月31日 下午 10:44
    • 已標示為解答 Nerco.co 2012年8月1日 上午 02:34
    2012年7月31日 下午 10:43

所有回覆

  • Just backup/restore.
    2012年7月28日 上午 02:04
  • Hi

    原則上備份/還原就可以了

    不過您Application連線到DB的帳號如果不是sa(密碼要相同),或者是Windows驗證的話,會有【孤兒使用者】的問題

    您可以參考這篇進行帳號移轉如何在 SQL Server 2005 和 SQL Server 2008 的執行個體之間傳送登入和密碼

    或者直接在還原後,將該Application的連線帳號從DB中刪除,再重新建立一次即可。


    Best Regards, Daniel Liang

    2012年7月28日 下午 05:36
  • hi

    可以參考我這篇文章

    http://www.dotblogs.com.tw/ricochen/archive/2012/07/26/73617.aspx

    竟然是平行移轉的話,且原先資料庫架構設計不佳的話,

    我自己會採取另一種作法,手動移轉每個物件(table、data、View、SP、type、function...等)...參考看看

     

    如果想偷懶搞定的話,可以利用SSIS一次解決

    http://www.dotblogs.com.tw/ricochen/archive/2012/07/20/73513.aspx


    保證解答-微軟技術支援服務

    2012年7月30日 上午 06:27
    版主
  • Hi~感謝各位先進回答

    本身我非常少碰DB這塊,有點知識不足~剛查了好久不知用何種軟體將SQL DB備份再還原

    是有查到SQL Server Management Studio備份還原~~~不確定是否可以用來移轉(不熟)有大大知道嗎?

    要不然就是用Symantec BESR 直接備份DB檔案,還原到新機再掛回SQL(不知道這樣可行嗎?)

    如果是這樣~除了帳號密碼部分,如同 Daniel 說的該注意(我們SQL是用混和模式~SQL驗證跟整合都有)

    那還有哪些該注意的部分??交易記錄或索引??這些該轉嗎?

    另外Ricoisme大有提到轉2012~~在轉到2005同樣也是同樣方法嗎?你的的步驟我有點看不太懂~太深奧.....

    對了~SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    這兩者看起來感覺好像依樣???

    http://www.microsoft.com/taiwan/sql/prodinfo/features/compare-features.mspx

    2012年7月31日 下午 02:07
  • Hi~感謝各位先進回答

    本身我非常少碰DB這塊,有點知識不足~剛查了好久不知用何種軟體將SQL DB備份再還原

    是有查到SQL Server Management Studio備份還原~~~不確定是否可以用來移轉(不熟)有大大知道嗎?

    要不然就是用Symantec BESR 直接備份DB檔案,還原到新機再掛回SQL(不知道這樣可行嗎?)

    如果是這樣~除了帳號密碼部分,如同 Daniel 說的該注意(我們SQL是用混和模式~SQL驗證跟整合都有)

    那還有哪些該注意的部分??交易記錄或索引??這些該轉嗎?

    另外Ricoisme大有提到轉2012~~在轉到2005同樣也是同樣方法嗎?你的的步驟我有點看不太懂~太深奧.....

    對了~SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    這兩者看起來感覺好像依樣???

    http://www.microsoft.com/taiwan/sql/prodinfo/features/compare-features.mspx

    文章的方法也適用SQL2005(因為你不是升級,所以直接看 Exercise 2: Performing Database Upgrade ),

    你有幾個方法移轉舊執行個體資料庫到新的執行個體上,開啟SSMS來執行就可以了

    Backup / Restore  Data Tier Applications   Copy Database Wizard   Detach/Attach

    帳號密碼一定要注意的,因為SQL Instance不同一定會造成孤兒使用者

    我後來不是有一篇使用SSIS軟體直接複製資料庫和登入帳戶嗎?你有參考過嗎?


    保證解答-微軟技術支援服務

    • 已標示為解答 Nerco.co 2012年8月1日 上午 02:35
    2012年7月31日 下午 03:49
    版主
  • Hi~感謝各位先進回答

    本身我非常少碰DB這塊,有點知識不足~剛查了好久不知用何種軟體將SQL DB備份再還原

    是有查到SQL Server Management Studio備份還原~~~不確定是否可以用來移轉(不熟)有大大知道嗎?

    要不然就是用Symantec BESR 直接備份DB檔案,還原到新機再掛回SQL(不知道這樣可行嗎?)

    如果是這樣~除了帳號密碼部分,如同 Daniel 說的該注意(我們SQL是用混和模式~SQL驗證跟整合都有)

    那還有哪些該注意的部分??交易記錄或索引??這些該轉嗎?

    另外Ricoisme大有提到轉2012~~在轉到2005同樣也是同樣方法嗎?你的的步驟我有點看不太懂~太深奧.....

    對了~SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    這兩者看起來感覺好像依樣???

    http://www.microsoft.com/taiwan/sql/prodinfo/features/compare-features.mspx

    Hi

    除了孤兒使用者的問題以外,還有SQL Agent內的Job移轉問題

    這部分一樣可以透過SQL Server Management Studio把Job匯出成SQL Command,放到新的SQL Server上執行就好

    以下是整個資料庫移轉的步驟,你可以參考看看

    您可以先透過SQL Server Management Studio將檔案先行備份一次,然後還原到新的SQL Server上

    然後透過SQL Server Management Studio連線到舊的SQL中(32Bit),將下列語法輸入到查詢中並執行

    USE master
    GO
    IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
    DROP PROCEDURE sp_hexadecimal
    GO
    CREATE PROCEDURE sp_hexadecimal
    @binvalue varbinary(256),
    @hexvalue varchar (514) OUTPUT
    AS
    DECLARE @charvalue varchar (514)
    DECLARE @i int
    DECLARE @length int
    DECLARE @hexstring char(16)
    SELECT @charvalue = '0x'
    SELECT @i = 1
    SELECT @length = DATALENGTH (@binvalue)
    SELECT @hexstring = '0123456789ABCDEF'
    WHILE (@i <= @length)
    BEGIN
    DECLARE @tempint int
    DECLARE @firstint int
    DECLARE @secondint int
    SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
    SELECT @firstint = FLOOR(@tempint/16)
    SELECT @secondint = @tempint - (@firstint*16)
    SELECT @charvalue = @charvalue +
    SUBSTRING(@hexstring, @firstint+1, 1) +
    SUBSTRING(@hexstring, @secondint+1, 1)
    SELECT @i = @i + 1
    END
    
    SELECT @hexvalue = @charvalue
    GO
     
    IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
    DROP PROCEDURE sp_help_revlogin
    GO
    CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
    DECLARE @name sysname
    DECLARE @type varchar (1)
    DECLARE @hasaccess int
    DECLARE @denylogin int
    DECLARE @is_disabled int
    DECLARE @PWD_varbinary  varbinary (256)
    DECLARE @PWD_string  varchar (514)
    DECLARE @SID_varbinary varbinary (85)
    DECLARE @SID_string varchar (514)
    DECLARE @tmpstr  varchar (1024)
    DECLARE @is_policy_checked varchar (3)
    DECLARE @is_expiration_checked varchar (3)
    
    DECLARE @defaultdb sysname
     
    IF (@login_name IS NULL)
    DECLARE login_curs CURSOR FOR
    
    SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
    ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name <> 'sa'
    ELSE
    DECLARE login_curs CURSOR FOR
    
    
    SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
    ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name = @login_name
    OPEN login_curs
    
    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
    IF (@@fetch_status = -1)
    BEGIN
    PRINT 'No login(s) found.'
    CLOSE login_curs
    DEALLOCATE login_curs
    RETURN -1
    END
    SET @tmpstr = '/* sp_help_revlogin script '
    PRINT @tmpstr
    SET @tmpstr = '** Generated ' + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
    PRINT @tmpstr
    PRINT ''
    WHILE (@@fetch_status <> -1)
    BEGIN
    IF (@@fetch_status <> -2)
    BEGIN
    PRINT ''
    SET @tmpstr = '-- Login:' + @name
    PRINT @tmpstr
    IF (@type IN ( 'G', 'U'))
    BEGIN -- NT authenticated account/group
    
    SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']'
    END
    ELSE BEGIN -- SQL Server authentication
    -- obtain password and sid
    SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' ) AS varbinary (256) )
    EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
    EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
     
    -- obtain password policy state
    SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
    SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
     
    SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' WITH PASSWORD = ' + @PWD_string + ' HASHED, SID = ' + @SID_string + ', DEFAULT_DATABASE = [' + @defaultdb + ']'
    
    IF ( @is_policy_checked IS NOT NULL )
    BEGIN
    SET @tmpstr = @tmpstr + ', CHECK_POLICY = ' + @is_policy_checked
    END
    IF ( @is_expiration_checked IS NOT NULL )
    BEGIN
    SET @tmpstr = @tmpstr + ', CHECK_EXPIRATION = ' + @is_expiration_checked
    END
    END
    IF (@denylogin = 1)
    BEGIN -- login is denied access
    SET @tmpstr = @tmpstr + '; DENY CONNECT SQL TO ' + QUOTENAME( @name )
    END
    ELSE IF (@hasaccess = 0)
    BEGIN -- login exists but does not have access
    SET @tmpstr = @tmpstr + '; REVOKE CONNECT SQL TO ' + QUOTENAME( @name )
    END
    IF (@is_disabled = 1)
    BEGIN -- login is disabled
    SET @tmpstr = @tmpstr + '; ALTER LOGIN ' + QUOTENAME( @name ) + ' DISABLE'
    END
    PRINT @tmpstr
    END
    
    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
    END
    CLOSE login_curs
    DEALLOCATE login_curs
    RETURN 0
    GO

    執行完畢後,結果的窗格將會出現一些語法,請複製下來

    然後用SQL Server Management Studio連線到新的SQL中(64Bit)

    把剛剛複製下來的結果貼在查詢中並執行,就完成了帳號與密碼的傳送

    並試著以Application所使用的SQL帳號用SQL Server Management Studio去登入看看是否可以正常存取DB

    如果可以,您在找個時間點,用SQL Server Management Studio透過卸離\附加的方式將資料庫一次搬移就不會有資料遺失的問題

    如果執行個體的名稱都是相同的,將資料庫掛載到新的主機後,您可以將舊有SQL Server的IP更換到新的SQL中

    如果需要更換Hostname,請參考德瑞克老師的文章重新命名 SQL Server 作業系統的電腦名稱後之修正作業;修正 @@servername 之問題


    Best Regards, Daniel Liang


    • 已編輯 Daniel-Liang 2012年7月31日 下午 10:44
    • 已標示為解答 Nerco.co 2012年8月1日 上午 02:34
    2012年7月31日 下午 10:43
  • Hi~感謝大家的幫忙,我剛有去View Ricoisme大的文章,果然沒人指點不行,一開始找不到重點.....我再努力K看看

    Daniel給的資訊也是超詳細~我待會彙整一下來去做移轉POC~再次感謝大大們

    對了~關於下面這幾個問題~我還是不了解........

    SQL各版本會有影響嗎?例如記憶體以及CPU的資源,我在Microsoft網站上針對記憶體的地方看的不是很懂

    Standard     作業系統的最大值

    Enterprise   作業系統的上限

    上面這兩種限制差別在哪...........

    2012年8月1日 上午 02:43
  • Hi

    下表是SQL Server 2008 R2的支援表,你可以參考看看

    64GB為Windows Server Standerd版本的最大支援度,比較確實的差異應該是其他功能面。

    這裡所指的CPU都是實體CPU,並非Core或執行緒。

    參考網址SQL Server 2008 R2 版本支援的功能

    功能名稱

    Enterprise

    Standard

    CPU

    8

    4

    所使用的最大記憶體

    2 TB

    64 GB

    最大資料庫大小

    524 PB

    524 PB


    Best Regards, Daniel Liang

    2012年8月1日 上午 03:51