| Anbieterhomepage | http://www.microsoft.com/germany/sql/2008/default.mspx |
| Download | - |
| Unterstützte Version | ab Version 2005 |
Voraussetzung ist eine Installation von Microsoft SQL Server in der Version 2005 oder 2008. Es werden alle Editionen unterstützt.
Damit alle Einstellungen und Berechtigungen korrekt vorgenommen werden, wird die Verwendung der in dieser Anleitung enthaltenen SQL-Skripte empfohlen. Alternativ können Sie die Datenbankkonfiguration aber auch über das SQL Server Management Studio vornehmen. Beide Wege werden auf dieser Seite erläutert.
Anmerkung: Nach dem Download des JDBC-Treibers kopieren Sie bitte die Datei sqljdbc4.jar in das Verzeichnis <home-dir>/server/<server-name>/lib/.
Hilfreiche Informationen nach Neuinstallation des SQL Servers: http://www.infocaptor.com/dashboard/jdbc-with-sqlserver-connection-refused-connect
Mit Hilfe der folgenden Skripte können Sie die Datenbank, das Schema für Nuclos, einen SQL Server-Login sowie den Datenbankbenutzer erstellen. Diese Skripte können Sie entweder über das sqlcmd-Dienstprogramm oder über das SQL Server Management Studio ausführen. Beachten Sie bei Ausführung im SQL Server Management Studio, dass der SQLCMD-Modus gesetzt ist (Menüleiste -> Query -> SQLCMD Mode).
Achtung: Skripte nur für SQL Server 2005 lauffähig. Bitte ansonsten die manuelle Anleitung heranziehen.
|
Eine neue Datenbank kann über das folgende Skript erstellt werden. Tragen Sie den Namen der neuen Datenbank sowie das Verzeichnis ein, in dem die Datendateien der Datenbank zu speichern sind, z.B.:
setvar PARAM_DBNAME "NUCLOS" setvar PARAM_DBPATH "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data" |
:setvar PARAM_DBNAME "<Name der Datenbank, z.B. NUCLOS>"
:setvar PARAM_DBPATH "<Verzeichnis für Datendateien, z.B. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data>"
USE [[Master | master]]
GO
CREATE DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]]
ON
( NAME = $(PARAM_DBNAME),
FILENAME = '$(PARAM_DBPATH)\$(PARAM_DBNAME).mdf',
SIZE = 11264KB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = $(PARAM_DBNAME)_log,
FILENAME = '$(PARAM_DBPATH)\$(PARAM_DBNAME)_log.ldf',
SIZE = 47616KB,
MAXSIZE = 2048GB,
FILEGROWTH = 10% )
COLLATE Latin1_General_CI_AS
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'$(PARAM_DBNAME)', @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]].[[Dbo | dbo]].[[Sp_fulltext_database | sp_fulltext_database]] @action = 'disable'
end
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ANSI_NULLS OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ANSI_PADDING OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ARITHABORT OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET DISABLE_BROKER
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET READ_WRITE
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET RECOVERY FULL
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET MULTI_USER
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] SET DB_CHAINING OFF
GO |
Um die Datenbank über die Werkzeuge des SQL Server Management Studios zu erzeugen, öffnen Sie den Dialog zur Neuanlage einer Datenbank über den Object Explorer. Bitte entnehmen Sie die vorzunehmenden Einstellungen dem oben dargestellten Skript.

Das folgende Skript benötigen Sie, um ein Schema für Nuclos in der zuvor erstellten Datenbank zu erstellen. Tragen Sie den Datenbank- und Schemanamen ein, z.B.:
setvar PARAM_DBNAME "NUCLOS" setvar PARAM_SCHEMA "nuclos" |
:setvar PARAM_DBNAME "<Name der Datenbank, z.B. NUCLOS>" :setvar PARAM_SCHEMA "<Name des Schemas, z.B. nuclos>" USE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'$(PARAM_SCHEMA)') EXEC sys.sp_executesql N'CREATE SCHEMA [[$(PARAM_SCHEMA) | $(PARAM_SCHEMA)]] AUTHORIZATION [[Dbo | dbo]]' GO |
Alternativ kann auch das Schema über das SQL Server Management Studio erstellt werden. Rufen Sie hierfür den Dialog zur Neuanlage eines Schemas über den Object Explorer auf. Vergeben Sie einen Schemanamen und tragen Sie keinen Owner ein.

Im nächsten Schritt wird ein Login benötigt, der mit Hilfe des folgenden Skripts zu erstellen ist. Tragen Sie hier den Namen der Datenbank, den Loginnamen sowie das gewünschte Passwort ein, z.B.:
setvar PARAM_DBNAME "NUCLOS" setvar PARAM_LOGINNAME "nuclos" setvar PARAM_LOGINPWD "hdz%42dl6!" |
:setvar PARAM_DBNAME "<Name der Datenbank, z.B. NUCLOS>" :setvar PARAM_LOGINNAME "<Loginname, z.B. nuclos>" :setvar PARAM_LOGINPWD "<Loginpasswort>" USE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] GO CREATE LOGIN [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] WITH PASSWORD=N'$(PARAM_LOGINPWD)', DEFAULT_DATABASE=[[$(PARAM_DBNAME) | $(PARAM_DBNAME)]], DEFAULT_LANGUAGE=[[Deutsch | Deutsch]], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'bulkadmin' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'dbcreator' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'diskadmin' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'processadmin' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'securityadmin' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'serveradmin' EXEC sys.sp_addsrvrolemember @loginame = N'$(PARAM_LOGINNAME)', @rolename = N'setupadmin' GO ALTER LOGIN [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] ENABLE GO |
Um den Login mit Hilfe des SQL Server Management Studios zu erstellen, öffnen Sie den Dialog zur Neuanlage eines Logins. Vergeben Sie einen Loginnamen sowie ein Passwort und konfigurieren Sie die Passwortrichtlinien entsprechend. Wählen Sie anschließend auf der Seite [[[Server Roles | [Server Roles]]] die empfohlenen Rollen aus (siehe SQL-Skript). Bevor Sie den Login speichern, ordnen Sie auf der Seite [[[User Mapping | [User Mapping]]] den Login der Datenbank und dem passenden Schema zu. Dadurch wird automatisch ein Benutzer mit identischem Namen erstellt. Wählen Sie neben der Rolle [[[public | [public]]] auch die Rolle [[[db_owner | [db_owner]]] für diese Zuordnung aus.


Abschließend muss ein Datenbankbenutzer für den erstellten Login mit entsprechenden Berechechtigungen angelegt werden. Tragen Sie hier den Datenbank-, schema- und Loginnamen ein, z.B.:
setvar PARAM_DBNAME "NUCLOS" setvar PARAM_SCHEMA "nuclos" setvar PARAM_LOGINNAME "nuclos" |
:setvar PARAM_DBNAME "<Name der Datenbank, z.B. NUCLOS>" :setvar PARAM_SCHEMA "<Name des Schemas, z.B. nuclos>" :setvar PARAM_LOGINNAME "<Loginname, z.B. nuclos>" USE [[$(PARAM_DBNAME) | $(PARAM_DBNAME)]] GO CREATE USER [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] FOR LOGIN [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] WITH DEFAULT_SCHEMA=[[$(PARAM_SCHEMA) | $(PARAM_SCHEMA)]] GO GRANT BACKUP DATABASE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT BACKUP LOG TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE FUNCTION TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE PROCEDURE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE SCHEMA TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE SYNONYM TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE TABLE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT CREATE VIEW TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT DELETE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT EXECUTE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT INSERT TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT REFERENCES TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT SELECT TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT UPDATE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT VIEW DATABASE STATE TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GRANT VIEW DEFINITION TO [[$(PARAM_LOGINNAME) | $(PARAM_LOGINNAME)]] GO ALTER AUTHORIZATION ON SCHEMA::$(PARAM_SCHEMA) TO $(PARAM_LOGINNAME); GO |
Falls Sie die Neuanlage des Logins über das Management Studio vorgenommen haben, müssen Sie keinen neuen Benutzer erstellen, sondern lediglich die Berechtigungen für diesen User vergeben. Dies erfolgt an zwei unterschiedlichen Stellen. Öffnen Sie zunächst die Eigenschaften der Datenbank, die Sie für Nuclos verwenden möchten. Dort wählen Sie auf der Seite Permissionsfür den automatisch erstellten Benutzer die folgenden Berechtigungen aus: BACKUP DATABASE, BACKUP LOG, CREATE FUNCTION, CREATE PROCEDURE, CREATE SCHEMA, CREATE SYNONYM, CREATE TABLE, CREATE VIEW, VIEW DATABASE STATE und VIEW DEFINITION. Zudem DELETE, EXECUTE, INSERT, REFERENCES, SELECT und UPDATE.

Im nächsten Schritt müssen die Berechtigungen für das Schema konfiguriert werden. Klicken Sie im Object Explorer mit rechts auf das erstellte Schema und wechseln Sie auf die Seite Permissions. Dort tragen Sie für den automatisch erstellten Datenbankbenutzer die Berechtigungen, wie in der Abbildung unten dargestellt, ein.
Als Letztes müssen Sie noch die Datenbank-Einstellungen in der nuclos.xml an Ihre Konfiguration anpassen:
| <adapter> | mssql |
| <connection-url> | jdbc:sqlserver://localhost:1433;#1#2DatabaseName=<database> (Schritt 1) |
| <user>, <password> | Login und Passwort (Schritt 3) |
| <schema> | Schema-Name (Schritt 2) |
| <tablespace> | Bitte leer lassen |
#1 localhost:1433 sind durch den Namen/IP-Addreesse und Port Ihres Datenbank-Servers zu ersetzen (siehe MSDN).
#2 Zur Unterstützung von Named Instances tragen Sie den Instanznamen durch einen Backslash getrennt nach der IP bzw. dem Hostnamen ein (siehe MSDN, z.B.: jdbc:sqlserver://localhost\<instance>:1433;DatabaseName=<database>
USE [master] GO CREATE DATABASE [nuclos_db] GO CREATE LOGIN [nuclos_user] WITH PASSWORD=N'nuclos_password', DEFAULT_DATABASE=[nuclos_db], CHECK_POLICY=OFF GO USE [nuclos_db] GO CREATE USER [nuclos_user] FOR LOGIN [nuclos_user] GO ALTER USER [nuclos_user] WITH DEFAULT_SCHEMA=[nuclos_schema] GO CREATE SCHEMA [nuclos_schema] AUTHORIZATION [nuclos_user] GO EXEC sp_addrolemember N'db_owner', N'nuclos_user' GO |
Für den Fall, dass Sie eine Sicherung Ihrer Datenbank wiederherstellen möchten, muss der erstellte Login nach erfolgtem Restore wieder dem Benutzer der Datenbank zugeordnet werden. Dies ist über folgenden Befehl möglich (siehe MSDN):
sp_change_users_login 'Update_One', '<Benutzername>', '<Loginname>' GO |