开始新对话

此帖子已超过 5 年

Solved!

Go to Solution

6674

2015年2月16日 18:00

avamar 7.0 無法抓到SQL2012的資料庫

Dear all:

今天要利用Avamar備份一台新的資料庫,資訊如下

Avamar version 7.0.2

要備份的機器如下

windows2008 server R2 SP1

Microsoft SQL 2012

之前有在其他主機備份過SQL 2008 都正常,這台是第一次備份SQL2012

但發現我抓不到自己的資料庫,只抓到系統資料庫,如下圖,請問是哪裡的問題呢?

圖片 1.png

Community Manager

 • 

6.1K 消息

2015年3月2日 01:00

Hi Mobe,

不好意思,让你久等了。下面是专家的回复,请参考。

根据您之前的描述,我们是能够在Avamar 控制台展开一部分数据库内容的,这一般说明客户端注册没问题,看不到其他数据库可能是权限问题。所以请检查以下几点:

  1. 登录到SQL客户端,打开services控制台,查看“backup agent”服务运行在那个账户下面,默认是NT AUTHORITY\SYSTEM账号。
  2. 打开SQL server管理控制台,在login里面查看上面的账号是否有” public””sysadmin”权限。如果没有,请添加并重试。

NOTE: SQL2008和之前版本下,NT AUTHORITY\SYSTEM账号默认是有” public””sysadmin”权限的,而SQL 2012版本之后,需要手动添加权限。

由于您这是SQL 2012,很可能没有添加权限而导致看不到其他数据库。

13.png

如果还有什么问题,欢迎随时回复。谢谢~

Community Manager

 • 

6.1K 消息

2015年2月16日 18:00

Hi Mobe,新春快乐!

请检查一下SQL server有没有内存不足的情况,或者尝试重启一下SQL Server那台服务器,然后再试一下。

另外,你这台搭载SQL server的 Windows 2008 server R2 SP1 是 X86 还是 X64?

Community Manager

 • 

6.1K 消息

2015年2月16日 18:00

检查一下叫 "SQL Server Browser" 的Windows 服务的状态,把它设置为手动,并启动服务。

还有,你这台Windows server 2008 R2 上只有这一个 SQL server 2012 对吗?是否有多个不同版本的 SQL server?

221 消息

2015年2月16日 19:00

Hi Leo 新年快樂~

過年前還來這裡報到~哈,回歸正題~

剛參照您的說明,將SQL Server Browser服務設置手動,並啟動服務,

但還是一樣的狀況~

也將SQL主機重新啟動過了~

這台Windows2008 R2 是X64

剛剛詢問了一下這台主機的負責同仁,發現這台SQL 2012 是 SQL2008升級上來的,

我看到這台主機中有兩個Microsoft SQL 2008 、Microsoft SQL 2012 目錄

Community Manager

 • 

6.1K 消息

2015年2月16日 20:00

你在SQL端分别执行下面的命令,看看是否有错误。可以把部分输出贴出来。

先执行      C:\Program Files\avs\bin>avsql.exe --operation=browse --verbose

然后执行  C:\Program Files\avs\bin>avsql.exe --operation=browse --verbose Instance\DBname

Community Manager

 • 

6.1K 消息

2015年2月16日 20:00

另外,你这个是单机环境对吗?不是cluster是吧?

Community Manager

 • 

6.1K 消息

2015年2月17日 01:00

Hi Mebo,

看你迟迟没有回复。明天开始过年放假了,这边给你找了个和你问题相似的KB,你可以参考一下。

Due to application constraints, we are sometimes forced to run multiple instances of SQL on a single server... i.e. SQL 2005 and SQL 2008 on the same server.

There will often be multiple client tools installed. Installing 2012 client tools on a 2008 SQL server will prevent backups from functioning.


Error message might look something like below:
C:\Program Files\avs\bin>avsql.exe --operation=browse --verbose
appname:'avsql.exe'
bindir:'C:\Program Files\avs\bin'
vardir:'C:\Program Files\avs\var'
sysdir:'C:\Program Files\avs\etc'
tmpdir:'C:\Program Files\avs\var\AvamarSQL'
hostname:'moss1'
storageapp: 'C:\Program Files\avs\bin\avtar.exe'
cid:d528f488de5208a7896f7bd57f571c1f668faa6b
Dynamically allocated CTL listen port (50002)
avsql Info <6673>: CTL listening on port 50002
avsql Info <11928>: avsql_ctl_sup::do_browse path:
avsql Info <10684>: Setting ctl message version to 3 (from 1)
avsql Info <16136>: Setting ctl max message size to 268435456
SQL Server 2011 installed.
SMO 2011 managed DLL loaded.
avsql Error <15125>: Specified path '' does not exist or is not accessible
Terminating CTL listen thread
avsql Info <6451>: avsql returning with exitcode 536870919

Note: Having two SQL Server instances of different versions (for example, SQL Server 2008 and SQL Server 2012) on the same system is supported and is working.
EMC Products:
Avamar Plug-in for SQL 6.1.101-87
Avamar Plug-in for SQL 6.1.100-402
Avamar Plug-in for SQL 6.1.10x
By Default, the SQL plug-in checks for the installed SQL Server having highest version and loads appropriate managed DLL.

Avamar SQL plugin will browse/backup only if the highest version available on the system has the database engine role installed for SQL.

For example, if we have SQL2012 Native client without Database Engine Role and SQL2008R2 with Database Engine role and all the databases, the browse is expected to fail as Avamar Will try to browse SQL2012 instead of SQL2008R2 that actually holds the database Engine role.

Following are the requirements for a browse/backup operation:
  1. Microsoft .NET Framework 4 installation requirement " Before you install the Avamar Plug-in for SQL Server, you must install Microsoft .NET Framework 4. Search the Microsoft Download Center for Microsoft .NET Framework 4" to find downloads and additional information.
  2. Avamar Client and SQL plugin version should match Avamar Server Version. If you upgrade the Avamar Plug-in for SQL Server to release 6.1, then you must also upgrade the Avamar server software to release 6.1. Do not use a SQL Server plug-in running release 6.0 or earlier to back up to or restore from an Avamar server running release 6.1. Also, do not use a SQL Server plug-in running release 6.1 to back up to or restore from an Avamar server running release 6.0 or earlier.
Workaround:

Appropriate SQL SMO corresponding to the SQL Server with highest version should be installed on the system with .Net Framework 4.

If we have situation where we have SQL2012 Native client without Database Engine Role and SQL2008R2 with Database Engine role and all the databases, our options are:
  1. Either we can remove the extra component for the Higher version that is causing the Browse to fail(only if they are not in use) or
  2. We can rename the corresponding Avamar SQL dll s to match with the version that holds the Database Engine Role.
For e.g.: As per the above situation, we can rename avsqlsmo08.dll to avsqlsmo11.dll as the former is responsible for browse operation of SQL2008R2 and SQL2008.

Note: The above is just a workaround.

More Information:
By default, the SMO assemblies are installed in the C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\ directory

Locations for SMO s for different versions:
SQL2012 -: http://www.microsoft.com/en-us/download/details.aspx?id=29065
SQL2008R2 -: http://www.microsoft.com/en-us/download/details.aspx?id=16978
SQL 2008 -:
http://www.microsoft.com/en-us/download/details.aspx?id=6375
SQL 2005 -: http://www.microsoft.com/en-us/download/details.aspx?id=24793

221 消息

2015年2月23日 17:00

Hi Leo:

sorry~後來陪同老婆去產檢了,然後就放假了~遲了回復。

今日參照您的指令匯出錯誤如下

avsql Info <16136>: Setting ctl max message size to 268435456

avsql Info <17376>: Working on stand alone environment.

Checking SMO version...

Found assembly: 'Microsoft.SqlServer.Smo,fileVersion="10.50.2500.0",version="10.

0.0.00000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitec

ture="MSIL"'

Found assembly: 'Microsoft.SqlServer.Smo,fileVersion="11.0.2100.60",version="11.

0.0.00000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitec

ture="MSIL"'

Found assembly: 'Microsoft.SqlServer.Smo,fileVersion="11.0.5058.0",version="11.0

.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitectu

re="MSIL"'

Returning from SMO version check with value: 12

avsql Error <9072>: sqlconnectimpl_smo::connect Microsoft.SqlServer.Management.C

ommon.ConnectionFailureException: Failed to connect to server instance\DBname. -

--> System.Data.SqlClient.SqlException: A network-related or instance-specific e

rror occurred while establishing a connection to SQL Server. The server was not

found or was not accessible. Verify that the instance name is correct and that S

QL Server is configured to allow remote connections. (provider: SQL Network Inte

rfaces, error: 26 - Error Locating Server/Instance Specified)

   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception

, Boolean breakConnection)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()

   at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternal

ConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Bool

ean encrypt, Boolean trustServerCert, Boolean integratedSecurity)

   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo

serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeo

ut, SqlConnection owningObject)

   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo

serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection ow

ningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)

   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnecti

on owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, St

ring newPassword, Boolean redirectedUserInstance)

   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdent

ity identity, SqlConnectionString connectionOptions, Object providerInfo, String

newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOp

tions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection

owningConnection)

   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC

onnection owningConnection, DbConnectionPoolGroup poolGroup)

   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow

ningConnection)

   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou

terConnection, DbConnectionFactory connectionFactory)

   at System.Data.SqlClient.SqlConnection.Open()

   at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect(Wi

ndowsIdentity impersonatedIdentity)

   at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()

   --- End of inner exception stack trace ---

   at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()

   at SMOWrap.SMO_Connect(SMOWrap* , UInt16* server, UInt16* login, UInt16* pass

word, Int32 timeout)

avsql Error <15125>: Specified path 'instance\DBname' does not exist or is not a

ccessible

Terminating CTL listen thread

avsql Info <6451>: avsql returning with exitcode 536870919

另外我看到您提供的兩套SQL在一個OS內的解決方式,有提到修改avsqlsmo08.dll 為 avsqlsmo11.dll,

但是這台主機裡面的avs\bin 目錄裡面已經有這兩個檔案了~是要刪除avsqlsmo08.dll 嗎?圖片 1.png

Community Manager

 • 

6.1K 消息

2015年2月26日 18:00

Hi Mobe,

你把 avsqlsmo08.dll 文件移动到别目录下,先不要删除。然后你再尝试一下。

221 消息

2015年3月1日 17:00

Hi Leo:

我將avsqlsmo08.dll 移走了,並且將該台Client的 Backup Agent服務重啟,但結果相同~

我再次問該台主機的負責同仁,他說這台主機的SQL,是先安裝了SQL 2008 ,

然後再用升級的方式到 SQL 2012,這樣會有影響嗎?

Community Manager

 • 

6.1K 消息

2015年3月1日 19:00

这问题还挺奇怪的。我这边请Avamar和SQL这边的专家再帮你看一下。稍等啊~

221 消息

2015年3月2日 02:00

YA~太贊了,果然有高手出沒,

太感謝leo為我找了高手解答啦,

原因真的是service 的backup agent登入者的權限跟SQL的權限不同,

SQL是用sa跟網域管理者登入,我將backup agent也改成網域管理者,

就OK了~

超級感謝leo以及EMC的高手們

找不到事件!

Top