Stash is now known as Bitbucket Server.
See the

Unknown macro: {spacejump}

of this page, or visit the Bitbucket Server documentation home page.

メタデータの末尾にスキップ
メタデータの先頭に移動

This page describes how to connect Stash to a Microsoft SQL Server database. 

The overall process for using a SQL Server database with Stash is:

  • Install SQL Server where it is accessible to Stash.
  • Create a database and user on the SQL Server server for Stash to use.
  • Install Stash on Windows, or on Linux or Mac.
  • 次のいずれかを実行します。
    • at Stash install time, run the Setup Wizard to connect Stash to the SQL Server database, or
    • at a later time, migrate Stash to the SQL Server database.

It is assumed here that you already have SQL Server installed and running.

See Supported platforms for the versions of SQL Server supported by Stash.

前提条件

現在のデータベースのバックアップ

If you are migrating your data from the internal Stash database, back up the Stash home directory.

If you are migrating your Stash data from a different external database, back up that database by following the instructions provided by the database vendor before proceeding with these instructions.

See Data recovery and backups.

Create the SQL Server database

Before you can use Stash with SQL Server, you must set up SQL Server as follows:

ステップ注意
データベースの作成e.g. stash. Remember this database name for the connection step below.
照合タイプの設定大文字と小文字を区別する必要があります。例: 'SQL_Latin1_General_CP1_CS_AS' (CS = Case Sensitive)。
分離レベルの設定分離レベル "Read Committed with Row Versioning" を使用するようにデータベースを設定します。
データベース ユーザーの作成e.g. stashuser. This database user should not be the database owner, but should be in the db_owner role. See SQL Server Startup Errors. Remember this database user name for the connection step below.
データベース ユーザーの権限の設定The Stash database user has permission to connect to the database, and to create and drop tables, indexes and other constraints, and insert and delete data, in the newly-created database.
Enable TCP/IPTCP/IP が SQL Server で有効になっており、SQL Server が適切なポートでリッスン (SQL Server インストールの既定の設定では 1433) していることを確認します。以降の接続ステップ用にこのポート番号を記憶しておいてください。
認証モードの確認Ensure that SQL Server is operating in the appropriate authentication mode. By default, SQL Server operates in 'Windows Authentication Mode'. However, if your user is not associated with a trusted SQL connection, 'Microsoft SQL Server, Error: 18452' is received during Stash startup, and you will need to change the authentication mode to 'Mixed Authentication Mode'.
SET NOCOUNT がオフになっていることの確認SET NOCOUNT オプションがオフになっていることを確認します。SQL Server Management Studio で次のように実行できます。
  1. [Tools] > [Options] > [Query Execution] > [SQL Server] > [Advanced] の順に移動します。SET NOCOUNT オプションがクリアされていることを確認します。
  2. 次に、[Server] > [Properties] > [Connections] > [Default Connections] プロパティ ボックスに移動し、no count オプションをクリアします。

Note that Stash will generally require about 25–30 connections to the database.

Here is an example of how to create and configure the SQL Server database from the command line. When Stash and SQL Server run on the same physical computer (accessible through localhost), run the following commands (replacing stashuser and password with your own values):

SQL Server> CREATE DATABASE stash
SQL Server> GO
SQL Server> USE stash
SQL Server> GO
SQL Server> ALTER DATABASE stash SET ALLOW_SNAPSHOT_ISOLATION ON
SQL Server> GO
SQL Server> ALTER DATABASE stash SET READ_COMMITTED_SNAPSHOT ON
SQL Server> GO
SQL Server> ALTER DATABASE stash COLLATE SQL_Latin1_General_CP1_CS_AS
SQL Server> GO
SQL Server> SET NOCOUNT OFF
SQL Server> GO
SQL Server> USE master
SQL Server> GO
SQL Server> CREATE LOGIN stashuser WITH PASSWORD=N'password', DEFAULT_DATABASE=stash, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
SQL Server> GO
SQL Server> ALTER AUTHORIZATION ON DATABASE::stash TO stashuser
SQL Server> GO

This creates an empty SQL Server database with the name stash, and a user that can log in from the host that Stash is running on who has full access to the newly created database. In particular, the user should be allowed to create and drop tables, indexes and other constraints.

Connect Stash to the SQL Server database

You can now connect Stash to the SQL Server database, either:

  • インストール時にセットアップ ウィザードを実行する場合
  • 埋め込みデータベースまたは別の外部データベースから SQL Server に移行したい場合。

インストール時にセットアップ ウィザードを実行する場合

  1. "Database" 手順で [External] を選択します。
  2. Database Type に [SQL Server] を選択します。
  3. フォームに入力します。詳細は、以下の表を参照してください。
  4. Click Next, and follow the instructions in the Stash Setup Wizard.

SQL Server に移行する場合

  1. In the Stash administration area, click Database (under 'Settings').
  2. [データベースの移行] をクリックします。
  3. Database Type に [SQL Server] を選択します。
  4. フォームに入力します。詳細は、以下の表を参照してください。
  5. [移行の開始] をクリックします。
ホスト名

The host name or IP address of the computer running the database server.

ポートThe TCP port with which Stash can connect to the database server. The default value of 1433 is the default port that SQL Server runs against. You can change that if you know the port that your SQL Server instance is using.
データベース名
The name of the database that Stash should connect to.
データベース ユーザー名The username that Stash should use to access the database.
データベース パスワードThe password that Stash should use to access the database.

Use Integrated Authentication (Optional)

統合認証はネイティブの DLL を使用してログイン済みのユーザーの資格情報にアクセスし、SQL Server で認証します。32 ビットと 64 ビット システム用の両方のネイティブ DLL がディストリビューションに含まれ、Microsoft からパッケージ全体をダウンロードする必要はありません。

Stash does not currently support configuring the system to use integrated authentication from the UI (Vote for it! STASH-3035 - Getting issue details... STATUS ). This means you can't currently migrate to SQL Server with integrated authentication, nor can you configure Stash to use SQL Server with integrated authentication during initial setup. However, if Stash has already been configured to use SQL Server (for example, when the Setup Wizard was run at first use), you can enable integrated authentication by directly modifying Stash's configuration, as follows:

  1. Based on the JVM being used to run Stash, rename either the x64 or x86 DLL to sqljdbc_auth.dll in lib/native. Note that running on Windows x64 does not require the use of the x64 DLL; you should only use the x64 DLL if you are also using a 64-bit JVM.
  2. In setenv.bat, a JVM_LIBRARY_PATH variable has already been defined. Simply remove the leading rem . Note that if you are putting the native DLL in an alternative location, you may need to change the value to point to your own path. The value of the JVM_LIBRARY_PATH variable will automatically be included in the command line when Tomcat is run using start-stash.bat.
  3. Edit the %STASH_HOME%\stash-config.properties file to include ;integratedSecurity=true in the jdbc.url line. Note that jdbc.user and jdbc.password will no longer be used to supply credentials but they must still be defined – Stash will to fail to start if these properties are removed.
  4. Ensure the Stash process or service is running as the correct user to access SQL Server.

It is also possible to configure integrated authentication over Kerberos, rather than using the native DLLs. Details for that are included in the JDBC documentation.

JDBC ドライバのインストール

This section is only relevant to some distributions of Stash, for example if you are running Stash via the Atlassian Plugin SDK, or have built Stash from source.

If the SQL Server JDBC driver is not bundled with Stash, you will need to download and install the driver yourself.

  1. Download the appropriate JDBC driver from the Microsoft download site.
  2. Install the driver file to your <Stash home directory>/lib directory (for Stash 2.1 or later).
  3. Stop, then restart, Stash on Windows, or on  Linux and Mac.

If Stash was configured to use Microsoft SQL Server by manually entering a JDBC URL, please refer to this guide.

  • ラベルなし