Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voordat u een actie op een database in Visual Studio kunt uitvoeren, moet u zich aanmelden met een account met bepaalde machtigingen voor die database. De specifieke machtigingen die u nodig hebt, variëren afhankelijk van de actie die u wilt uitvoeren. In de volgende secties wordt elke actie beschreven die u mogelijk wilt uitvoeren en de machtigingen die u nodig hebt om deze uit te voeren.
Machtigingen voor het maken of implementeren van een database
U moet over de volgende machtigingen beschikken om een database te maken of te implementeren.
| Handeling | Vereiste toestemmingen |
|---|---|
| Databaseobjecten en -instellingen importeren | U moet verbinding kunnen maken met de brondatabase. Als de brondatabase is gebaseerd op SQL Server 2005, moet u ook eigenaar zijn van of over de VIEW DEFINITION machtiging beschikken voor elk object.Als de brondatabase is gebaseerd op SQL Server 2008 of hoger, moet u ook eigenaar zijn van of over de VIEW DEFINITION machtiging beschikken voor elk object. Uw aanmelding moet de VIEW SERVER STATE machtiging hebben (voor databaseversleutelingssleutels). |
| Serverobjecten en -instellingen importeren | U moet verbinding kunnen maken met de primaire database op de opgegeven server. Als op de server SQL Server 2005 wordt uitgevoerd, moet u over de VIEW ANY DEFINITION machtiging op de server beschikken.Als de brondatabase is gebaseerd op SQL Server 2008 of hoger, moet u over de VIEW ANY DEFINITION machtiging op de server beschikken. Uw aanmelding moet de VIEW SERVER STATE machtiging hebben (voor databaseversleutelingssleutels). |
| Een databaseproject maken of bijwerken | U hebt geen databasemachtigingen nodig om een databaseproject te maken of te wijzigen. |
| Een nieuwe database implementeren of implementeren met de optieset Database altijd opnieuw maken | U moet de CREATE DATABASE machtiging hebben of lid zijn van de dbcreator-rol op de doelserver.Wanneer u een database maakt, maakt Visual Studio verbinding met de model database en kopieert de inhoud ervan. De initiële aanmelding (bijvoorbeeld yourLogin) die u gebruikt om verbinding te maken met de doeldatabase, moet db_creator en CONNECT SQL machtigingen hebben. Deze aanmelding moet een gebruikerstoewijzing hebben in de model database. Als u over sysadmin-machtigingen beschikt, kunt u de toewijzing maken met behulp van de volgende Transact-SQL-instructie:USE [model] CREATE USER yourUser FROM LOGIN yourLogin.De gebruiker (in dit voorbeeld yourUser) moet CONNECT en VIEW DEFINITION machtigingen hebben op de model database. Als u sysadmin-machtigingen hebt, kunt u deze machtigingen verlenen door de volgende Transact-SQL instructie uit te geven:USE [model] GRANT CONNECT to yourUser GRANT VIEW DEFINITION TO yourUser.Als u een database implementeert die niet-benoemde beperkingen bevat en de optie CheckNewConstraints staat ingeschakeld, moet u beschikken over db_owner of sysadmin machtigingen, anders mislukt de implementatie. (CheckNewConstraints is standaard ingeschakeld.) Deze vereiste geldt alleen voor niet-benoemde beperkingen. |
| Updates implementeren in een bestaande database | U moet een geldige databasegebruiker zijn. U moet ook lid zijn van de db_ddladmin-rol , eigenaar zijn van het schema of de objecten die u wilt maken of wijzigen in de doeldatabase. U hebt aanvullende machtigingen nodig om te werken met meer geavanceerde concepten, zoals aanmeldingen of gekoppelde servers in uw scripts vóór de implementatie of na de implementatie. Als u implementeert in de primaire database, moet u ook over de VIEW ANY DEFINITION machtiging beschikken op de server waarop u implementeert. |
Een assembly gebruiken met de EXTERNAL_ACCESS optie in een databaseproject |
U moet de TRUSTWORTHY eigenschap voor uw databaseproject instellen. U moet beschikken over de EXTERNAL ACCESS ASSEMBLY machtiging voor uw SQL Server-aanmelding. |
| Assembly's implementeren in een nieuwe of bestaande database | Je moet een lid zijn van de sysadmin-rol op de doelimplementatieserver. |
Machtigingen voor het herstructureren van een database
Databaseherstructurering vindt alleen plaats in het databaseproject. U moet gemachtigd zijn om het databaseproject te kunnen gebruiken. U hebt geen machtigingen voor een doeldatabase nodig totdat u de wijzigingen erin implementeert.
Machtigingen voor het uitvoeren van eenheidstests op een SQL Server-database
U moet over de volgende machtigingen beschikken om eenheidstests uit te voeren op een database.
| Handeling | Vereiste toestemmingen |
|---|---|
| Een testactie uitvoeren | U moet de verbinding met de uitvoeringscontextdatabase gebruiken. Zie Overzicht van verbindingsreeksen en machtigingen voor meer informatie. |
| Een voor-testactie of posttestactie uitvoeren | U moet de bevoegde contextdatabaseverbinding gebruiken. Deze databaseverbinding heeft meer machtigingen dan de uitvoeringscontextverbinding. |
Voer TestInitialize en TestCleanup scripts uit |
U moet de bevoegde contextdatabaseverbinding gebruiken. |
| Databasewijzigingen implementeren voordat u tests uitvoert | U moet de bevoegde contextdatabaseverbinding gebruiken. Zie Instructies voor het configureren van de testuitvoering van SQL Server-eenheden voor meer informatie. |
| Gegevens genereren voordat u tests uitvoert | U moet de bevoegde contextdatabaseverbinding gebruiken. Zie Instructies voor het configureren van de testuitvoering van SQL Server-eenheden voor meer informatie. |
Machtigingen voor het genereren van gegevens
Als u testgegevens wilt genereren met behulp van Gegevensgenerator, moet u beschikken over en INSERT machtigingen hebben SELECT voor de objecten in de doeldatabase. Als u gegevens verwijdert voordat u gegevens genereert, moet u ook machtigingen hebben DELETE voor de objecten in de doeldatabase. Als u de IDENTITY kolom in een tabel opnieuw wilt instellen, moet u de eigenaar van de tabel zijn of moet u lid zijn van de db_owner of db_ddladmin rol.
Machtigingen voor het vergelijken van schema's en gegevens
U moet over de volgende machtigingen beschikken om schema's of gegevens te vergelijken.
| Handeling | Vereiste toestemmingen |
|---|---|
| De schema's van twee databases vergelijken | U moet machtigingen hebben voor het importeren van objecten en instellingen uit de databases, zoals beschreven in Machtigingen voor het maken of implementeren van een database. |
| De schema's van een database en een databaseproject vergelijken | U moet machtigingen hebben voor het importeren van objecten en instellingen uit de database, zoals beschreven in Machtigingen voor het maken of implementeren van een database. U moet ook het databaseproject hebben geopend in Visual Studio. |
| Updates schrijven naar een doeldatabase | U moet beschikken over machtigingen voor het implementeren van updates voor de doeldatabase, zoals beschreven in Machtigingen voor het maken of implementeren van een database. |
| De gegevens van twee databases vergelijken | Naast de machtigingen die u nodig hebt om de schema's van twee databases te vergelijken, hebt u de SELECT machtiging nodig voor alle tabellen die u wilt vergelijken. U hebt ook de VIEW DATABASE STATE machtiging nodig. |
Machtigingen voor het uitvoeren van de Transact-SQL-editor
De uitvoeringscontext voor de doeldatabase bepaalt wat u kunt doen in de Transact-SQL-editor.
Machtigingen voor SQL Server CLR-projecten
De volgende tabel bevat de machtigingen die u moet hebben om CLR-projecten (Common Language Runtime) te implementeren of er fouten in op te sporen.
| Handeling | Vereiste toestemmingen |
|---|---|
| Een veilige machtigingenset deployen (aanvankelijk of incrementeel) | De db_DDLAdmin machtiging verleent CREATE en ALTER machtigingen voor de assembly's en objecttypen die u implementeert.De machtiging op databaseniveau VIEW DEFINITION is vereist voor implementatie.De machtiging op databaseniveau CONNECT verleent de mogelijkheid om verbinding te maken met de database. |
| Een assembly met machtigingensets implementeren voor externe toegang | De db_DDLAdmin machtigingen verleent CREATE en ALTER machtigingen voor de assembly's en objecttypen die u implementeert.De machtiging op databaseniveau VIEW DEFINITION is vereist voor implementatie.De machtiging op databaseniveau CONNECT verleent de mogelijkheid om verbinding te maken met de database.U moet ook de TRUSTWORTHY databaseoptie hebben ingesteld op ON.De aanmelding die u gebruikt voor implementatie, moet beschikken over de machtiging Assembly servermachtiging voor externe toegang. |
| Een onveilige machtigingenset inzetten | De db_DDLAdmin machtigingen verleent CREATE en ALTER machtigingen voor de assembly's en objecttypen die u implementeert.De machtiging op databaseniveau VIEW DEFINITION is vereist voor implementatie.De machtiging op databaseniveau CONNECT verleent de mogelijkheid om verbinding te maken met de database.U moet ook de TRUSTWORTHY databaseoptie hebben ingesteld op ON.De aanmelding die u gebruikt om te implementeren, moet de Onveilige Assembly-servermachtiging hebben. |
| SQL CLR-assembly op afstand debuggen | U moet de vaste rolmachtiging sysadmin hebben. |
Belangrijk
In alle gevallen moet de eigenaar van de assembly de gebruiker zijn die u gebruikt om de assembly te implementeren of moet de eigenaar een rol zijn waarin die gebruiker lid is. Deze vereiste geldt ook voor alle assembly's waarop de assembly die u implementeert, verwijst.