2011/08/06

access2010 SQL Azureいってみようか -4-

まだまだSSMSから離れられない。それだけ大事なことってことでしょう。
前回作成したtestdb01adminというアカウントでログイン

テーブルなど作ってみる。
CREATE TABLE (SQL Azure データベース)
create table table01 (
  ID  int identity,
  F01 nvarchar(10) not null
 constraint pk_table01 primary key clustered(
  ID asc
 )
)
で、作ったテーブルの情報をみてみる。
--sp_help (Transact-SQL) http://msdn.microsoft.com/ja-jp/library/ms187335.aspx
exec sp_help table01
ちょっとレコードを挿入してみる。
insert into table01(F01) values('あいうえお')
select * from table01
文字化けする。だから、文字列がUnicodeであることを明示する Nプレフィックス を使う。
insert into table01(F01) values(N'あいうえお')
select * from table01
デフォルトの照合順序がLaten1_GeneralというのはSQL Azureの仕様だから、カラムや変数レベルで Japanese_CI_AS に変更する。これやっておかないと、ソートや照合で具合がよくないはず。
--ALTER TABLE 
--http://msdn.microsoft.com/ja-jp/library/ee336286.aspx
alter table table01
  alter column F01 nvarchar(10) collate Japanese_CI_AS not null
SQL AzureのタイムゾーンはUTC+0
--SYSUTCDATETIME (Transact-SQL)
--http://msdn.microsoft.com/ja-jp/library/bb630387.aspx
--DATEADD (Transact-SQL)
--http://msdn.microsoft.com/ja-jp/library/ms186819.aspx
select SYSUTCDATETIME() as UTC時間, 
          DATEADD(hour,9,SYSUTCDATETIME()) as 日本時間 

テーブルには、クラスターインデックスが必要。難しいお話については説明できない。
SQL Azureにクラスター化インデックスが必要な理由(蒼の王座)
クラスターインデックスとSQL Azure(蒼の王座)
読んだら100points中、3points理解が深まった。少なくとも、クラスターインデックスが必要であることは明白ということで割り切り。
次あたりで、SSMA使ってみようかな。

0 件のコメント: