SQL Server

Win

Windows共用サーバーのお客様は、マイクロソフト社の高機能データベースシステムである SQL Server Web Editionの データベースを1つご利用いただけます。Windows専用サーバーのお客様は、有償オプションとして、SQL Server の Web Edition をインストールすることが可能です。

SQL Server の概要 (Windows共用/専用サーバー)

SQL Server の主な特徴は以下の通りです。

  • テーブル数、データ容量に明示的な制限はございません。
  • データベースの文字コードは Shift-JIS (Japanese_CI_AS)です。
  • ユーザーページから、データベース管理ツール Adminer を利用して管理することができます。
  • 外部からODBCを利用して、データベースへ接続することが可能です。※2
  • 発行されるデータベース数やバージョンは下表の通りです。
契約サービスバージョン料金発行DB数接続上限数 外部接続ルート権限
Windows共用サーバー
(ホスト名www5ww)
2017 WebEdtion無料1全ユーザーで256 不可
Windows共用サーバー
(ホスト名www8ww)
2019 WebEdtion無料1全ユーザーで256 不可
Windows専用サーバー
OSが2016の場合
2017 WebEdition初期4,950円
月額3,960円
無制限※1標準で128 可 ※2申請により可
Windows専用サーバー
OSが2019の場合
2019 WebEdition初期4,950円
月額3,960円
無制限※1標準で128 可 ※2申請により可
Windows専用サーバー
OSが2022の場合
2019 WebEdition初期4,950円
月額3,960円
無制限※1標準で128 可 ※2申請により可

※1 当社の標準設定では、1設定ドメインあたり5DBの発行となります。

※2 専用サーバーの場合、標準ではファイアウォールでODBC接続を拒否していますので、個別にファイアウォールの開放依頼が必要です。内部から外部への接続開放も可能です。一方、共用サーバーの場合、標準でODBC接続が利用可能です。外部接続時のクエリタイムアウトは共用サーバーで360秒、専用サーバーで600秒です。

SQL Server の Web Edition の利用範囲について

SQL Server の WebEditionは、インターネット上で公開するWebサイト用のデータベースとしてのみ利用できるEditionです。

SQL Server への接続
データベースの初期設定

データベースへの接続に必要な情報は、メールでお送りしている以下の通知書に記載されています。

  • 「レンタルサーバー登録通知書(ウェブ)」

通知書には、DBホスト名、DB名DBユーザー名DBパスワード、ポート番号、文字コードが記載されています。

Adminer の利用

SQL Serverのデータベースの操作ツールとして、ブラウザーからデータベースの管理が可能な「Adminer」を標準でご利用頂けます。Adminerは、ユーザーページから利用可能です。なお、Adminer自体のサポートや操作方法についてのサポートは行っておりませんのでご了承ください。

※ Adminerのエクスポート機能は、SQL Serverでは利用することが出来ません。SQL Serverのデータをエクスポートする場合は、後述するMicrosoft SQL Server Management Studioを使用して下さい。

外部からのODBC接続

SPPDレンタルサーバーでは、SQL Serverのデータベースへ外部からODBCを利用して接続し、操作することが可能です。ただし、Windows専用サーバーの場合は、あらかじめ、個別にファイアウォールの開放依頼を頂くことが必要です。

Microsoft SQL Server Management Studio (SSMS) の利用

SQL Server データベースの操作ツールとして、外部のパソコンにインストールして利用できる、マイクロソフト社の無償ツール「Microsoft SQL Server Management Studio(SSMS)」が用意されています。

SSMSを利用してデータベースに接続する際の認証方法は、「SQL Server認証」をお選びください。

● SSMSでの接続時の暗号化について

SQL Server 2019への接続の際は、通信は暗号化されます。ただし、専用サーバーの場合は、接続画面の「オプション>>」を開き、「接続プロパティ」タブの「サーバー証明書を信頼する」をチェックしてください。

SQL Server 2017への続の際は、標準では通信は暗号化されません。暗号化したい場合は、接続画面の「オプション>>」を開き、「接続プロパティ」タブの「暗号化接続」と「サーバー証明書を信頼する」をチェックしてください。

SPPDレンタルサーバーでは、Microsoft SQL Server Management Studio 自体のサポートや操作方法についてのサポートは行っておりませんのでご了承ください。

Microsoft SQL Server Management Studio(外部サイトへのリンク)

SQL Server へのインターフェースについて

SQL Server へのインターフェースとしては、PHP、Perl、ASP、ASP.NETがご利用いただけます。

各種プログラムで利用できるモジュール等(Windows Server 2022 の場合)
プログラム バージョン モジュール
PHP 8.2.16 SQLSRV関数、Microsoft SQL Server関数(PDO_SQLSRV)
Perl 5.26.1 DBD-ODBC
各種プログラムで利用できるモジュール等(Windows Server 2019 の場合)
プログラム バージョン モジュール
PHP 7.4.33 SQLSRV関数、Microsoft SQL Server関数(PDO_SQLSRV)
Perl 5.26.1 DBD-ODBC
各種プログラムで利用できるモジュール等(Windows Server 2016 の場合)
プログラム バージョン モジュール
PHP 7.1.33 SQLSRV関数、Microsoft SQL Server関数(PDO_SQLSRV)
Perl 5.26.1 DBD-ODBC
ODBCドライバー経由での接続文字列の指定方法

ASP/ASP.NETからはADOやODBCドライバー経由での接続が可能ですが、ODBCデータソースは作成しておりませんので、直接接続文字列を指定し、接続を行う必要があります。
接続文字列は「レンタルサーバー登録通知書(ウェブ)」を参照いただき、Driverには「SQL Server」、Serverには「localhost」、Uidに「DBユーザー名」、Pwdに「DBパスワード」、Databseに「DB名」を設定してください。

Driver={SQL Server};Server=localhost;UID=DBユーザー名;PWD=DBパスワード;Database=DB名;
PHPのMSSQL関数からテーブルへのアクセス方法
<?php
# usernameの部分がDBユーザー名になります
# passwdの部分がDBパスワードになります
# dbnameの部分がDB名になります
$conn = @mssql_connect("localhost", "username", "passwd");
if(!$conn || !@mssql_select_db("dbname", $conn)) {
    die("データベースの接続に失敗しました");
}

// SQL実行
$result = @mssql_query('SELECT * FROM test') or die("SQLの実行に失敗しました");
while($row = mssql_fetch_array($result)) {
	print_r($row);
}

mssql_free_result($result);
mssql_close($conn);
?>
PHPのsqlsrv関数からテーブルへのアクセス方法
<?php
# usernameの部分がDBユーザー名になります
# passwdの部分がDBパスワードになります
# dbnameの部分がDB名になります
$conInf = array( 
     'UID' => 'username',
     'PWD' => 'passwd',
     'Database' => 'dbname' 
);

$conn = sqlsrv_connect('localhost', $conInf) 
            or die("データベース接続に失敗しました\n". print_r(sqlsrv_errors(), true));
$result = sqlsrv_query($conn, "SELECT * FROM test") 
            or die("SQLの実行に失敗しました\n". print_r(sqlsrv_errors(), true));
while($row = sqlsrv_fetch_array($result)) {
    print_r($row);
}
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
?>