Cu SMO e mai simplu, dar am niste nelamuriri:
- in documentatie e specificat ca Database.Users suporta proprietatea Item, adica ar trebui sa pot accesa db.Users("nume_user"). Dar nu merge. Trebuie sa parcurg toata colectia ca sa ajung la userul dorit.
- acceasi problema si cu Database.Logins
- problema 3: daca restaurez un db, userul db-ului nu mai e mapat la login si solutia aplicata pana acuma a fost stergerea db userului si remapare. Se poate face mai simplu in SMO? Daca da, cum?
L.E:
Primesc eroarea Failed to connect to server bla-bla, Source: Microsoft.SqlServer.ConnectionInfo, StackTrace: at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
at Microsoft.SqlServer.Management.Common.ConnectionManager.PoolConnect()
at Microsoft.SqlServer.Management.Common.ConnectionManager.get_ServerVersion()
at Microsoft.SqlServer.Management.Smo.ExecutionManager.get_ServerVersion()
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer(Boolean inServer)
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitializeStringComparer()
at Microsoft.SqlServer.Management.Smo.AbstractCollectionBase.get_StringComparer()
at Microsoft.SqlServer.Management.Smo.SimpleObjectCollectionBase.InitInnerCollection()
at Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_InternalStorage()
at Microsoft.SqlServer.Management.Smo.SmoCollectionBase.GetObjectByKey(ObjectKeyBase key)
at Microsoft.SqlServer.Management.Smo.DatabaseCollection.get_Item(String name)
Din ce am gasit pe net, trebuie schimbat windows account-ul sub care ruleaza SQLAgent. Nu se poate face si altfel?