cub-e.net

just coding...

Azure Export Service ile SQL Server arasinda yasanan DB Link hatasinin cozumu

Data Export Servisi, Dynamics 365 verilerini bir Microsoft Azure aboneliğinde Microsoft Azure SQL Veritabanına kopyalayabilen  bir eklenti hizmetidir. Desteklenen hedef yerler Microsoft Azure SQL Veritabanı ve Microsoft Azure sanal makinelerinde Microsoft Azure SQL Server'dır. Data Export, başlangıçta tüm Dynamics 365 şemasını ve verilerini akıllı bir şekilde senkronize eder ve ardından Microsoft Dynamics 365 (çevrimiçi) sistemindeki değişiklikler (delta değişiklikleri) gibi sürekli olarak senkronize olur.

Bu servis hizmetinden yararlanabilmeniz icin asagidaki scripti Azure SQL Server ya da Sanal Makinadaki SQL Server bilgisi ile birlikte Dynamics 365 Hizmetinisin bilgilerini de icercek sekilde doldurup calistirmaxiz gerekmekte.

Data Export Servisinin nasıl yapilandiracagi ile ilgili bilgiye su adresten ulaşabilirsiniz : https://technet.microsoft.com/en-us/library/mt744592.aspx 

# -------------------------------------------------------------------------------- #

#  Provide the value for the following parameters before executing the script

$subscriptionId #burasi belirtilmeli#

$keyvaultName #burasi belirtilmeli#'

 $secretName #burasi belirtilmeli#'

 $resourceGroupName #burasi belirtilmeli#'

$location #burasi belirtilmeli#'

$connectionString #burasi belirtilmeli#'

$organizationIdList #burasi belirtilmeli#'

$tenantId #burasi belirtilmeli#'

 

# -------------------------------------------------------------------------------- #

 

# Login to Azure account, select subscription and tenant Id

Login-AzureRmAccount

Set-AzureRmContext -TenantId $tenantId -SubscriptionId$subscriptionId

 

# Create new resource group if not exists.

$rgAvail Get-AzureRmResourceGroup -Name $resourceGroupName-Location $location -ErrorAction SilentlyContinue

if(!$rgAvail){

    New-AzureRmResourceGroup -Name $resourceGroupName-Location $location

}

 

# Create new key vault if not exists.

$kvAvail Get-AzureRmKeyVault -VaultName $keyvaultName -ResourceGroupName$resourceGroupName -ErrorAction SilentlyContinue

if(!$kvAvail){

    New-AzureRmKeyVault -VaultName $keyvaultName -ResourceGroupName$resourceGroupName -Location $location

    # Wait few seconds for DNS entry to propagate

    Start-Sleep -Seconds15

}

 

# Create tags to store allowed set of Organizations.

$secretTags =@{}

foreach($orgId in $organizationIdList.Split(',')) {

    $secretTags.Add($orgId.Trim()$tenantId)

}

 

# Add or update a secret to key vault.

$secretVaule ConvertTo-SecureString $connectionString -AsPlainText -Force

$secret Set-AzureKeyVaultSecret-VaultName $keyvaultName -Name $secretName -SecretValue$secretVaule -Tags $secretTags

 

# Authorize application to access key vault.

$servicePrincipal 'b861dbcc-a7ef-4219-a005-0e4de4ea7dcf'

Set-AzureRmKeyVaultAccessPolicy -VaultName $keyvaultName -ServicePrincipalName$servicePrincipal -PermissionsToSecrets get

 

# Display secret url.

Write-Host "Connection key vault URL is "$secret.id.TrimEnd($secret.Version)""  


Benim değinmek istediğim konu ise bundan farklı. Bir sekilde bu hizmeti aktif hale getirdini ama burada oluşturulan verilere DB Link mantigi içerisinde ulaşmak istediğinizde;


"OLE DB provider "SQLNCLI11" for linked server "#########.DATABASE.WINDOWS.NET" returned message "Unspecified error". Msg 40515, Level 16, State 2, Line 1 Reference to database and/or server name in 'AdventureWorks2012.sys.sp_tables_info_90_rowset_64' is not supported in this version of SQL Server."


ya da 


"Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc) Reference to database and/or server name in 'AdventureWorks2012.sys.sp_tables_rowset2' is not supported in this version of SQL Server. (Microsoft SQL Server, Error: 40515)"


seklinde hatalar ile karsılaşabilirsiniz. Iste bu sorunu çözmek icin mevcut DB Link baglantisini silmeniz ve asagidaki scripti kullanarak yeniden oluşturmanız gerekmekte. Bu islemi yaptiginizda sorun çözülecektir.


EXECsp_addlinkedserver
@server=
'PROD',
@srvproduct=
'',    
@provider=
'sqlncli',
@datasrc=
'azureserver.database.windows.net',
@location=
'',
@provstr=
'',
@catalog=
'database name'

EXECsp_addlinkedsrvlogin 
@rmtsrvname = 
'PROD',
@useself = 
'false',
@rmtuser = 
'Azure login',
@rmtpassword = 
'password'

EXECsp_serveroption 'PROD','rpc out', true

CRM Veritabanı SQL Server Enterprise'dan Standart'a geçerken hata veriyor

CRM veritabanını SQL Server Enterprise Edition'dan Standart Edition'a taşıdığınuzda aşağıdaki gibi bir hata alırsınız:

Database ‘Org_MSCRM’ cannot be started in this edition of SQL Server because it contains a partition function ‘AuditPFN’. Only Enterprise edition of SQL Server supports partitioning.

bu hatanın çözümü ise çok basittir. Veritabanını taşımadan önce http://support.microsoft.com/kb/2567984 makalesinde yazılan scripti çalıştırmanız yeterli olacaktır. Daha sonra taşıma işlemini başlatabilirsiniz.

 

IF EXISTS (SELECT name FROM sys.partition_schemes WHERE name='AuditPScheme')
BEGIN
 SELECT 
  CASE WHEN ind.type != 1 
   THEN 
    'DROP INDEX [dbo].[AuditBase].' + QUOTENAME(ind.name) + ' ' 
   ELSE ' ' 
  END + 
  'CREATE ' + CASE is_unique WHEN 1 THEN 'UNIQUE ' ELSE '' END  +
  ind.type_desc + ' INDEX ' + QUOTENAME(ind.name  COLLATE SQL_Latin1_General_CP1_CI_AS )  + ' ON [dbo].' +  QUOTENAME(OBJECT_NAME(object_id)) + ' (' +
   
  REVERSE(SUBSTRING(REVERSE((
   SELECT name + CASE WHEN sc.is_descending_key = 1 THEN ' DESC' ELSE ' ASC' END + ','
   FROM
    sys.index_columns sc
    JOIN sys.columns c ON sc.object_id = c.object_id AND sc.column_id = c.column_id
   WHERE
    OBJECT_NAME(sc.object_id) = 'AuditBase' AND
    sc.object_id = ind.object_id AND
    sc.index_id = ind.index_id
   ORDER BY index_column_id ASC
   FOR XML PATH('')
        )), 2, 8000)) + ')' +
  CASE WHEN ind.type = 1 
   THEN 
    ' WITH (DROP_EXISTING = ON) ON [PRIMARY]' 
   ELSE 
    ' ' 
  END  as Script 
 INTO #indexesScript
 FROM sys.indexes ind
 JOIN sys.partition_schemes ps on ind.data_space_id=ps.data_space_id 
 WHERE
  OBJECT_NAME(object_id) = 'AuditBase'
  AND ps.name = 'AuditPScheme' 
  AND is_unique_constraint = 0 
 SELECT * FROM #indexesScript 
 
 DECLARE @recreateScript nvarchar(max)
 DECLARE indScript CURSOR FOR
 SELECT Script FROM #indexesScript
 OPEN indScript
 FETCH NEXT FROM indScript INTO @recreateScript
 
 WHILE @@FETCH_STATUS = 0   
 BEGIN   
  BEGIN TRANSACTION t1
  Execute sp_executesql @recreateScript
  
  IF @@ERROR > 0
  BEGIN 
   ROLLBACK TRAN t1
   declare @message varchar(max)
   set @message = 'Audit history recreate index failed. SQL: ' + @recreateScript 
      RAISERROR (@message, 10,1)
  END
  ELSE
  BEGIN
   COMMIT TRAN
  END
  FETCH NEXT FROM indScript INTO @recreateScript   
 END   
 DROP PARTITION SCHEME AuditPScheme
 DROP PARTITION FUNCTION AuditPFN
  
 CLOSE indScript   
 DEALLOCATE indScript 
 DROP TABLE #indexesScript
END

 

CRM 4.0 Sample Data Available in 25 Languages - CRM 4.0 için 25 dilde örnek veritabanı hazır.

Microsoft CRM 4.0 için örnek veritabanı çıkmıştır. Bu veritabanı içerisinde gerçek iş dünyasından ölçeklenmiş örnek veriler içermektedir. Bu örnek veritabanını kurduğunuz zaman CRM 4.0'ın tüm fonksiyonlarını kullanabileceğiniz örnek bir veritabanınız olmuş olacak.

Yalnız Türkçe için örnek veri İngilizce hazırlanmış :(

Bu adresten indirebilirsiniz : http://www.microsoft.com/downloads/details.aspx?FamilyId=D5F77EE7-3D01-4944-B5DC-C8CDC8123DF4 
Kurulum hakkında bilgiye buradan ulaşabilirsiniz : http://www.microsoft.com/downloads/details.aspx?FamilyId=F44E89ED-6983-4A03-9BC0-A0B5B823FE37

----

The Microsoft Dynamics CRM 4.0 Sample Database is provided for Microsoft Dynamics CRM 4.0.   Sample Data gives a Microsoft Dynamics CRM 4.0 application convincing, real life business data with the necessary breadth and depth to allow end users to explore the most important Microsoft Dynamics CRM 4.0 functionalities.  When you import Sample Data into Microsoft Dynamics CRM 4.0 you will have a live, fully working CRM implementation with rich, real-life business data that provides the appropriate amount of interactivity and flexibility for both training and sales/marketing demo needs to illustrate the features and benefits of the Microsoft Dynamics CRM 4.0 application.

The Microsoft Dynamics CRM 4.0 Sample Database will available for download for the following 25 languages: English, German, Dutch, French, Spanish, Chinese PRC, Danish, Italian, Japanese, Brazilian Portuguese, Chinese Taiwan, Korean, Chinese Hong Kong, *Finnish, *Hebrew, *Norwegian, *Swedish, *Iberian Portuguese, *Russian, *Turkish, *Czech, *Hungarian, *Polish, *Arabic and *Greek.

You can find the download on http://www.microsoft.com/downloads/details.aspx?FamilyId=D5F77EE7-3D01-4944-B5DC-C8CDC8123DF4 and you can find the Readme with installation instructions on http://www.microsoft.com/downloads/details.aspx?FamilyId=F44E89ED-6983-4A03-9BC0-A0B5B823FE37

*Sample Data content contains English content for these languages.