ConnectionString property not printing connection string
up vote
1
down vote
favorite
I am trying to get the connection string of a database datasource with the following script:
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$database = $Analysis_Server.Databases[7]
$c = $database.DataSources[0].ConnectionString
$c
nothing is outputting.
I have tried debugging like so:
$Analysis_Server.Databases
this prints out all databases on the server
if i index it $Analysis_Server.Databases
, it prints whatever database is indexed (so in my case, 7, prints database8)
clearly the Database property is working.
-------------UPDATE:--------------
here is how the Databases look in the server
here is what each of the following lines does:
$Analysis_Server.Databases
this prints out
One thing one can notice is for some reason they are printed out not in order of how they are on the analysis server as in the picture...I dont know why that is the case
this is what this command prints out:
Analysis_Server.Databases[0]
Now since index 0 worked, we should be able to index [1], [2]
, etc...
so the following
Analysis_Server.Databases[1]
Analysis_Server.Databases[2]
prints:
Now unto the connection string:
$Analysis_Server.Databases[0].DataSources[0].ConnectionString
that prints out:
Connection Timeout=60;User Id=someID;Data Source=10.10.10.10;Persist Security Info=True
its appears to be the connection string for Database8
cool, so then we should be able to do this as well:
$Analysis_Server.Databases[1].DataSources[0].ConnectionString
However, nothing prints! the only index that seems to print is with Databases[0]
This is what $Analysis_Server.Databases[0].DataSources[0]
prints:
we should be able to do the same for all databases
$Analysis_Server.Databases[1].DataSources[0]
$Analysis_Server.Databases[2].DataSources[0]
etc..
but nothing gets printed!
sql sql-server powershell azure-analysis-services
add a comment |
up vote
1
down vote
favorite
I am trying to get the connection string of a database datasource with the following script:
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$database = $Analysis_Server.Databases[7]
$c = $database.DataSources[0].ConnectionString
$c
nothing is outputting.
I have tried debugging like so:
$Analysis_Server.Databases
this prints out all databases on the server
if i index it $Analysis_Server.Databases
, it prints whatever database is indexed (so in my case, 7, prints database8)
clearly the Database property is working.
-------------UPDATE:--------------
here is how the Databases look in the server
here is what each of the following lines does:
$Analysis_Server.Databases
this prints out
One thing one can notice is for some reason they are printed out not in order of how they are on the analysis server as in the picture...I dont know why that is the case
this is what this command prints out:
Analysis_Server.Databases[0]
Now since index 0 worked, we should be able to index [1], [2]
, etc...
so the following
Analysis_Server.Databases[1]
Analysis_Server.Databases[2]
prints:
Now unto the connection string:
$Analysis_Server.Databases[0].DataSources[0].ConnectionString
that prints out:
Connection Timeout=60;User Id=someID;Data Source=10.10.10.10;Persist Security Info=True
its appears to be the connection string for Database8
cool, so then we should be able to do this as well:
$Analysis_Server.Databases[1].DataSources[0].ConnectionString
However, nothing prints! the only index that seems to print is with Databases[0]
This is what $Analysis_Server.Databases[0].DataSources[0]
prints:
we should be able to do the same for all databases
$Analysis_Server.Databases[1].DataSources[0]
$Analysis_Server.Databases[2].DataSources[0]
etc..
but nothing gets printed!
sql sql-server powershell azure-analysis-services
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
1
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to get the connection string of a database datasource with the following script:
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$database = $Analysis_Server.Databases[7]
$c = $database.DataSources[0].ConnectionString
$c
nothing is outputting.
I have tried debugging like so:
$Analysis_Server.Databases
this prints out all databases on the server
if i index it $Analysis_Server.Databases
, it prints whatever database is indexed (so in my case, 7, prints database8)
clearly the Database property is working.
-------------UPDATE:--------------
here is how the Databases look in the server
here is what each of the following lines does:
$Analysis_Server.Databases
this prints out
One thing one can notice is for some reason they are printed out not in order of how they are on the analysis server as in the picture...I dont know why that is the case
this is what this command prints out:
Analysis_Server.Databases[0]
Now since index 0 worked, we should be able to index [1], [2]
, etc...
so the following
Analysis_Server.Databases[1]
Analysis_Server.Databases[2]
prints:
Now unto the connection string:
$Analysis_Server.Databases[0].DataSources[0].ConnectionString
that prints out:
Connection Timeout=60;User Id=someID;Data Source=10.10.10.10;Persist Security Info=True
its appears to be the connection string for Database8
cool, so then we should be able to do this as well:
$Analysis_Server.Databases[1].DataSources[0].ConnectionString
However, nothing prints! the only index that seems to print is with Databases[0]
This is what $Analysis_Server.Databases[0].DataSources[0]
prints:
we should be able to do the same for all databases
$Analysis_Server.Databases[1].DataSources[0]
$Analysis_Server.Databases[2].DataSources[0]
etc..
but nothing gets printed!
sql sql-server powershell azure-analysis-services
I am trying to get the connection string of a database datasource with the following script:
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$database = $Analysis_Server.Databases[7]
$c = $database.DataSources[0].ConnectionString
$c
nothing is outputting.
I have tried debugging like so:
$Analysis_Server.Databases
this prints out all databases on the server
if i index it $Analysis_Server.Databases
, it prints whatever database is indexed (so in my case, 7, prints database8)
clearly the Database property is working.
-------------UPDATE:--------------
here is how the Databases look in the server
here is what each of the following lines does:
$Analysis_Server.Databases
this prints out
One thing one can notice is for some reason they are printed out not in order of how they are on the analysis server as in the picture...I dont know why that is the case
this is what this command prints out:
Analysis_Server.Databases[0]
Now since index 0 worked, we should be able to index [1], [2]
, etc...
so the following
Analysis_Server.Databases[1]
Analysis_Server.Databases[2]
prints:
Now unto the connection string:
$Analysis_Server.Databases[0].DataSources[0].ConnectionString
that prints out:
Connection Timeout=60;User Id=someID;Data Source=10.10.10.10;Persist Security Info=True
its appears to be the connection string for Database8
cool, so then we should be able to do this as well:
$Analysis_Server.Databases[1].DataSources[0].ConnectionString
However, nothing prints! the only index that seems to print is with Databases[0]
This is what $Analysis_Server.Databases[0].DataSources[0]
prints:
we should be able to do the same for all databases
$Analysis_Server.Databases[1].DataSources[0]
$Analysis_Server.Databases[2].DataSources[0]
etc..
but nothing gets printed!
sql sql-server powershell azure-analysis-services
sql sql-server powershell azure-analysis-services
edited Oct 30 at 17:26
asked Oct 29 at 1:49
Cataster
13111
13111
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
1
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34
add a comment |
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
1
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
1
1
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34
add a comment |
3 Answers
3
active
oldest
votes
up vote
1
down vote
accepted
I just played with things a little more, to make sure I understood the issue that you are facing. On the same box, still with the newest available SqlServer PowerShell module loaded - I get these results.
PS C:UsersAdministrator> $Analysis_Server = New-Object Microsoft.AnalysisServices.Server
PS C:UsersAdministrator> $Analysis_Server.connect("AX2012R2A")
PS C:UsersAdministrator> $Analysis_Server.Databases
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast ps Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast Accuracy initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Now I traverse every database and their datasources, to display the connection string
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_3
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
And the one-liner that just gives you the connection string and nothing else
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Could you take the time and try to install the latest SqlServer PowerShell module and see if that makes any difference for you and the problem that you are facing?
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
|
show 5 more comments
up vote
1
down vote
Not saying that I have an answer for you, but I think you can use another approach to get what you need, while waiting for Microsoft support.
I'm working on a AX 2012 demo system, that is running SQL Server 2014. It has several olap databases inside the same instance. I've edited all datasources to point to a different database, to show that we get the correct details out.
I installed the latest SQL Server PowerShell module while testing this.
Install-Module SqlServer -Force -Confirm:$false
Import-Module SqlServer
Now you should have a new PowerShell provider, that enables you to traverse the SQL Server as was it a file system
Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions HKLM, HKCU
Alias ShouldProcess Alias
Environment ShouldProcess Env
FileSystem Filter, ShouldProcess, Credentials C, E, A, D...
Function ShouldProcess Function
Variable ShouldProcess Variable
SqlServer Credentials SQLSERVER
Certificate ShouldProcess Cert
WSMan Credentials WSMan
With that in our hand, you should be able to do the following, that should produce the correct results
#Connect to the SSAS part of the sql server
PS C:UsersAdministrator> cd SQLSERVER:SQLAS
#List all local instances
PS SQLSERVER:SQLAS> dir
Host Name
---------
AX2012R2A
HTTP_DS
#Connect to the server (local) - you should be able to type in a valid network name
PS SQLSERVER:SQLAS> cd AX2012R2A
#List all instances on that server
PS SQLSERVER:SQLASAX2012R2A> dir
Instance Name
-------------
DEFAULT
POWERPIVOT
TABULAR
#Connect to the default instance on the server you are connected to
PS SQLSERVER:SQLASAX2012R2A> cd default
#List all available collections / areas
PS SQLSERVER:SQLASAX2012R2Adefault> dir
#Connect to the databases area
PS SQLSERVER:SQLASAX2012R2Adefault> cd databases
#List all databases that are available
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> dir
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Getting the same result with Get-ChildItem
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Traverse all databases and show their connection string details
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=MicrosoftDynamicsAX
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
PS SQLSERVER:sqlasax2012r2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
I would say that this should get you going, because you can now trust that you have the correct connection string details. I relation to your other question - this should give you all the details for the alter script that you want to produce, so you supply the entire alter statement as the SQL Server expects from you.
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
add a comment |
up vote
0
down vote
found this in a post here: http://www.mrtsql.com/2011/03/powershell-updating-analysis-services.html
See if this function in that post helps you out.
function UpdateDataSources()
# Lets get our server name
$SSASServerName="$env:ComputerName" + $SSASInstanceName
$MyConnection = New-Object("Microsoft.AnalysisServices.Server")
$MyConnection.Connect($SSASServerName)
# lets return the number of data sources
[int]$DataSourcecount=$MyConnection.Databases[$DatabaseName].DataSources.count
for ($count=0; $count -ne $DataSourcecount;++$count)
$MyCS=$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString
$NewCS=setNewValue -MyCS $MyCS -Pattern "Data Source=" -ReplaceWith $DataSourceServer
if ($PW.Length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "Password=" -ReplaceWith $PW
if ($UserName.length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "User ID=" -ReplaceWith $UserName
$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString=$NewCS
# write the change back to SSAS
$MyConnection.Databases[$DatabaseName].DataSources[$count].update()
write-output $NewCS
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
add a comment |
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
I just played with things a little more, to make sure I understood the issue that you are facing. On the same box, still with the newest available SqlServer PowerShell module loaded - I get these results.
PS C:UsersAdministrator> $Analysis_Server = New-Object Microsoft.AnalysisServices.Server
PS C:UsersAdministrator> $Analysis_Server.connect("AX2012R2A")
PS C:UsersAdministrator> $Analysis_Server.Databases
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast ps Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast Accuracy initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Now I traverse every database and their datasources, to display the connection string
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_3
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
And the one-liner that just gives you the connection string and nothing else
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Could you take the time and try to install the latest SqlServer PowerShell module and see if that makes any difference for you and the problem that you are facing?
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
|
show 5 more comments
up vote
1
down vote
accepted
I just played with things a little more, to make sure I understood the issue that you are facing. On the same box, still with the newest available SqlServer PowerShell module loaded - I get these results.
PS C:UsersAdministrator> $Analysis_Server = New-Object Microsoft.AnalysisServices.Server
PS C:UsersAdministrator> $Analysis_Server.connect("AX2012R2A")
PS C:UsersAdministrator> $Analysis_Server.Databases
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast ps Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast Accuracy initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Now I traverse every database and their datasources, to display the connection string
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_3
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
And the one-liner that just gives you the connection string and nothing else
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Could you take the time and try to install the latest SqlServer PowerShell module and see if that makes any difference for you and the problem that you are facing?
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
|
show 5 more comments
up vote
1
down vote
accepted
up vote
1
down vote
accepted
I just played with things a little more, to make sure I understood the issue that you are facing. On the same box, still with the newest available SqlServer PowerShell module loaded - I get these results.
PS C:UsersAdministrator> $Analysis_Server = New-Object Microsoft.AnalysisServices.Server
PS C:UsersAdministrator> $Analysis_Server.connect("AX2012R2A")
PS C:UsersAdministrator> $Analysis_Server.Databases
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast ps Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast Accuracy initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Now I traverse every database and their datasources, to display the connection string
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_3
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
And the one-liner that just gives you the connection string and nothing else
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Could you take the time and try to install the latest SqlServer PowerShell module and see if that makes any difference for you and the problem that you are facing?
I just played with things a little more, to make sure I understood the issue that you are facing. On the same box, still with the newest available SqlServer PowerShell module loaded - I get these results.
PS C:UsersAdministrator> $Analysis_Server = New-Object Microsoft.AnalysisServices.Server
PS C:UsersAdministrator> $Analysis_Server.connect("AX2012R2A")
PS C:UsersAdministrator> $Analysis_Server.Databases
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast ps Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast Accuracy initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Now I traverse every database and their datasources, to display the connection string
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_3
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
And the one-liner that just gives you the connection string and nothing else
PS C:UsersAdministrator> $Analysis_Server.Databases | ForEach-Object $_.datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Could you take the time and try to install the latest SqlServer PowerShell module and see if that makes any difference for you and the problem that you are facing?
answered Nov 10 at 11:15
Mötz
66259
66259
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
|
show 5 more comments
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
Woah... this might make a difference! ForEach-Object $_.datasources .....the only issue is how could I specifically target a database? For example, like this: $database = $Analysis_Server.Databases[7]
– Cataster
Nov 10 at 15:40
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
On mobile, so bare with me. You would need to fill in a where-object in the pipeline. "....databases | where-object Name -Like "*NAMEOFDB*" | ForEach-Object...."
– Mötz
Nov 10 at 16:04
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
Oh ok I'll try that, thanks!
– Cataster
Nov 10 at 16:07
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
question: how can I change the connection string? This code retrieves the connection strings, but now how can I set for example the userID or password to something else?
– Cataster
Nov 10 at 16:55
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
That is the other question 😉 Now we have this one somewhat solved - right? I will give the other question a look tomorrow evening local CET time...
– Mötz
Nov 10 at 19:38
|
show 5 more comments
up vote
1
down vote
Not saying that I have an answer for you, but I think you can use another approach to get what you need, while waiting for Microsoft support.
I'm working on a AX 2012 demo system, that is running SQL Server 2014. It has several olap databases inside the same instance. I've edited all datasources to point to a different database, to show that we get the correct details out.
I installed the latest SQL Server PowerShell module while testing this.
Install-Module SqlServer -Force -Confirm:$false
Import-Module SqlServer
Now you should have a new PowerShell provider, that enables you to traverse the SQL Server as was it a file system
Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions HKLM, HKCU
Alias ShouldProcess Alias
Environment ShouldProcess Env
FileSystem Filter, ShouldProcess, Credentials C, E, A, D...
Function ShouldProcess Function
Variable ShouldProcess Variable
SqlServer Credentials SQLSERVER
Certificate ShouldProcess Cert
WSMan Credentials WSMan
With that in our hand, you should be able to do the following, that should produce the correct results
#Connect to the SSAS part of the sql server
PS C:UsersAdministrator> cd SQLSERVER:SQLAS
#List all local instances
PS SQLSERVER:SQLAS> dir
Host Name
---------
AX2012R2A
HTTP_DS
#Connect to the server (local) - you should be able to type in a valid network name
PS SQLSERVER:SQLAS> cd AX2012R2A
#List all instances on that server
PS SQLSERVER:SQLASAX2012R2A> dir
Instance Name
-------------
DEFAULT
POWERPIVOT
TABULAR
#Connect to the default instance on the server you are connected to
PS SQLSERVER:SQLASAX2012R2A> cd default
#List all available collections / areas
PS SQLSERVER:SQLASAX2012R2Adefault> dir
#Connect to the databases area
PS SQLSERVER:SQLASAX2012R2Adefault> cd databases
#List all databases that are available
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> dir
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Getting the same result with Get-ChildItem
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Traverse all databases and show their connection string details
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=MicrosoftDynamicsAX
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
PS SQLSERVER:sqlasax2012r2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
I would say that this should get you going, because you can now trust that you have the correct connection string details. I relation to your other question - this should give you all the details for the alter script that you want to produce, so you supply the entire alter statement as the SQL Server expects from you.
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
add a comment |
up vote
1
down vote
Not saying that I have an answer for you, but I think you can use another approach to get what you need, while waiting for Microsoft support.
I'm working on a AX 2012 demo system, that is running SQL Server 2014. It has several olap databases inside the same instance. I've edited all datasources to point to a different database, to show that we get the correct details out.
I installed the latest SQL Server PowerShell module while testing this.
Install-Module SqlServer -Force -Confirm:$false
Import-Module SqlServer
Now you should have a new PowerShell provider, that enables you to traverse the SQL Server as was it a file system
Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions HKLM, HKCU
Alias ShouldProcess Alias
Environment ShouldProcess Env
FileSystem Filter, ShouldProcess, Credentials C, E, A, D...
Function ShouldProcess Function
Variable ShouldProcess Variable
SqlServer Credentials SQLSERVER
Certificate ShouldProcess Cert
WSMan Credentials WSMan
With that in our hand, you should be able to do the following, that should produce the correct results
#Connect to the SSAS part of the sql server
PS C:UsersAdministrator> cd SQLSERVER:SQLAS
#List all local instances
PS SQLSERVER:SQLAS> dir
Host Name
---------
AX2012R2A
HTTP_DS
#Connect to the server (local) - you should be able to type in a valid network name
PS SQLSERVER:SQLAS> cd AX2012R2A
#List all instances on that server
PS SQLSERVER:SQLASAX2012R2A> dir
Instance Name
-------------
DEFAULT
POWERPIVOT
TABULAR
#Connect to the default instance on the server you are connected to
PS SQLSERVER:SQLASAX2012R2A> cd default
#List all available collections / areas
PS SQLSERVER:SQLASAX2012R2Adefault> dir
#Connect to the databases area
PS SQLSERVER:SQLASAX2012R2Adefault> cd databases
#List all databases that are available
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> dir
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Getting the same result with Get-ChildItem
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Traverse all databases and show their connection string details
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=MicrosoftDynamicsAX
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
PS SQLSERVER:sqlasax2012r2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
I would say that this should get you going, because you can now trust that you have the correct connection string details. I relation to your other question - this should give you all the details for the alter script that you want to produce, so you supply the entire alter statement as the SQL Server expects from you.
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
add a comment |
up vote
1
down vote
up vote
1
down vote
Not saying that I have an answer for you, but I think you can use another approach to get what you need, while waiting for Microsoft support.
I'm working on a AX 2012 demo system, that is running SQL Server 2014. It has several olap databases inside the same instance. I've edited all datasources to point to a different database, to show that we get the correct details out.
I installed the latest SQL Server PowerShell module while testing this.
Install-Module SqlServer -Force -Confirm:$false
Import-Module SqlServer
Now you should have a new PowerShell provider, that enables you to traverse the SQL Server as was it a file system
Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions HKLM, HKCU
Alias ShouldProcess Alias
Environment ShouldProcess Env
FileSystem Filter, ShouldProcess, Credentials C, E, A, D...
Function ShouldProcess Function
Variable ShouldProcess Variable
SqlServer Credentials SQLSERVER
Certificate ShouldProcess Cert
WSMan Credentials WSMan
With that in our hand, you should be able to do the following, that should produce the correct results
#Connect to the SSAS part of the sql server
PS C:UsersAdministrator> cd SQLSERVER:SQLAS
#List all local instances
PS SQLSERVER:SQLAS> dir
Host Name
---------
AX2012R2A
HTTP_DS
#Connect to the server (local) - you should be able to type in a valid network name
PS SQLSERVER:SQLAS> cd AX2012R2A
#List all instances on that server
PS SQLSERVER:SQLASAX2012R2A> dir
Instance Name
-------------
DEFAULT
POWERPIVOT
TABULAR
#Connect to the default instance on the server you are connected to
PS SQLSERVER:SQLASAX2012R2A> cd default
#List all available collections / areas
PS SQLSERVER:SQLASAX2012R2Adefault> dir
#Connect to the databases area
PS SQLSERVER:SQLASAX2012R2Adefault> cd databases
#List all databases that are available
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> dir
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Getting the same result with Get-ChildItem
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Traverse all databases and show their connection string details
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=MicrosoftDynamicsAX
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
PS SQLSERVER:sqlasax2012r2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
I would say that this should get you going, because you can now trust that you have the correct connection string details. I relation to your other question - this should give you all the details for the alter script that you want to produce, so you supply the entire alter statement as the SQL Server expects from you.
Not saying that I have an answer for you, but I think you can use another approach to get what you need, while waiting for Microsoft support.
I'm working on a AX 2012 demo system, that is running SQL Server 2014. It has several olap databases inside the same instance. I've edited all datasources to point to a different database, to show that we get the correct details out.
I installed the latest SQL Server PowerShell module while testing this.
Install-Module SqlServer -Force -Confirm:$false
Import-Module SqlServer
Now you should have a new PowerShell provider, that enables you to traverse the SQL Server as was it a file system
Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions HKLM, HKCU
Alias ShouldProcess Alias
Environment ShouldProcess Env
FileSystem Filter, ShouldProcess, Credentials C, E, A, D...
Function ShouldProcess Function
Variable ShouldProcess Variable
SqlServer Credentials SQLSERVER
Certificate ShouldProcess Cert
WSMan Credentials WSMan
With that in our hand, you should be able to do the following, that should produce the correct results
#Connect to the SSAS part of the sql server
PS C:UsersAdministrator> cd SQLSERVER:SQLAS
#List all local instances
PS SQLSERVER:SQLAS> dir
Host Name
---------
AX2012R2A
HTTP_DS
#Connect to the server (local) - you should be able to type in a valid network name
PS SQLSERVER:SQLAS> cd AX2012R2A
#List all instances on that server
PS SQLSERVER:SQLASAX2012R2A> dir
Instance Name
-------------
DEFAULT
POWERPIVOT
TABULAR
#Connect to the default instance on the server you are connected to
PS SQLSERVER:SQLASAX2012R2A> cd default
#List all available collections / areas
PS SQLSERVER:SQLASAX2012R2Adefault> dir
#Connect to the databases area
PS SQLSERVER:SQLASAX2012R2Adefault> cd databases
#List all databases that are available
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> dir
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Getting the same result with Get-ChildItem
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem
Name State Read-Write Mode
---- ----- ---------------
Demand Forecast Accuracy initial Processed ReadWrite
Demand Forecast Accuracy ps Processed ReadWrite
Demand Forecast initial Processed ReadWrite
Demand Forecast ps Processed ReadWrite
Dynamics AX initial Processed ReadWrite
Dynamics AX ps Processed ReadWrite
#Traverse all databases and show their connection string details
PS SQLSERVER:SQLASAX2012R2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_1
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_2
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=MicrosoftDynamicsAX
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_4
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_5
Dynamics Database ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=AX2012R2A;Integrated
Security=SSPI;Initial
Catalog=DatabaseName_6
PS SQLSERVER:sqlasax2012r2Adefaultdatabases> Get-ChildItem | ForEach-Object $_.Datasources
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_1
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_2
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_3
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_4
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_5
Provider=SQLNCLI11.1;Data Source=AX2012R2A;Integrated Security=SSPI;Initial Catalog=DatabaseName_6
I would say that this should get you going, because you can now trust that you have the correct connection string details. I relation to your other question - this should give you all the details for the alter script that you want to produce, so you supply the entire alter statement as the SQL Server expects from you.
answered Nov 10 at 10:53
Mötz
66259
66259
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
add a comment |
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
Can you explain to me what the point of knowing the capabilities of PSProvider with Get-PSProvider was? I didnt see anything used from it....also, I have installed the latest sql server just around 1 month ago. I wouldnt think it's the issue since I just installed it recently. Anyways back to your suggestion, I dont understand this part: SQLSERVER:SQLASAX2012R2Adefaultdatabases> is that supposed to be getting in the analysis server? So my server is like this: server1.domain.com. how would I be able to connect to that? Am I supposed to replace SQLSERVER with it?
– Cataster
Nov 10 at 15:35
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
1. The reason with the Get-PSProvider was to ensure you that the module was loaded and you could see the SqlServer in the list. 2. After the "cd SQLSERVER:SQLAS", you should write "cd server1.domain.com". 3. Everything before the > tag is to show you how powershell is exposing the objects as a file tree structure. You should only care about everything that looks like a ordinary cmd like "cd xyz" and Get-ChildItem
– Mötz
Nov 10 at 15:56
add a comment |
up vote
0
down vote
found this in a post here: http://www.mrtsql.com/2011/03/powershell-updating-analysis-services.html
See if this function in that post helps you out.
function UpdateDataSources()
# Lets get our server name
$SSASServerName="$env:ComputerName" + $SSASInstanceName
$MyConnection = New-Object("Microsoft.AnalysisServices.Server")
$MyConnection.Connect($SSASServerName)
# lets return the number of data sources
[int]$DataSourcecount=$MyConnection.Databases[$DatabaseName].DataSources.count
for ($count=0; $count -ne $DataSourcecount;++$count)
$MyCS=$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString
$NewCS=setNewValue -MyCS $MyCS -Pattern "Data Source=" -ReplaceWith $DataSourceServer
if ($PW.Length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "Password=" -ReplaceWith $PW
if ($UserName.length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "User ID=" -ReplaceWith $UserName
$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString=$NewCS
# write the change back to SSAS
$MyConnection.Databases[$DatabaseName].DataSources[$count].update()
write-output $NewCS
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
add a comment |
up vote
0
down vote
found this in a post here: http://www.mrtsql.com/2011/03/powershell-updating-analysis-services.html
See if this function in that post helps you out.
function UpdateDataSources()
# Lets get our server name
$SSASServerName="$env:ComputerName" + $SSASInstanceName
$MyConnection = New-Object("Microsoft.AnalysisServices.Server")
$MyConnection.Connect($SSASServerName)
# lets return the number of data sources
[int]$DataSourcecount=$MyConnection.Databases[$DatabaseName].DataSources.count
for ($count=0; $count -ne $DataSourcecount;++$count)
$MyCS=$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString
$NewCS=setNewValue -MyCS $MyCS -Pattern "Data Source=" -ReplaceWith $DataSourceServer
if ($PW.Length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "Password=" -ReplaceWith $PW
if ($UserName.length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "User ID=" -ReplaceWith $UserName
$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString=$NewCS
# write the change back to SSAS
$MyConnection.Databases[$DatabaseName].DataSources[$count].update()
write-output $NewCS
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
add a comment |
up vote
0
down vote
up vote
0
down vote
found this in a post here: http://www.mrtsql.com/2011/03/powershell-updating-analysis-services.html
See if this function in that post helps you out.
function UpdateDataSources()
# Lets get our server name
$SSASServerName="$env:ComputerName" + $SSASInstanceName
$MyConnection = New-Object("Microsoft.AnalysisServices.Server")
$MyConnection.Connect($SSASServerName)
# lets return the number of data sources
[int]$DataSourcecount=$MyConnection.Databases[$DatabaseName].DataSources.count
for ($count=0; $count -ne $DataSourcecount;++$count)
$MyCS=$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString
$NewCS=setNewValue -MyCS $MyCS -Pattern "Data Source=" -ReplaceWith $DataSourceServer
if ($PW.Length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "Password=" -ReplaceWith $PW
if ($UserName.length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "User ID=" -ReplaceWith $UserName
$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString=$NewCS
# write the change back to SSAS
$MyConnection.Databases[$DatabaseName].DataSources[$count].update()
write-output $NewCS
found this in a post here: http://www.mrtsql.com/2011/03/powershell-updating-analysis-services.html
See if this function in that post helps you out.
function UpdateDataSources()
# Lets get our server name
$SSASServerName="$env:ComputerName" + $SSASInstanceName
$MyConnection = New-Object("Microsoft.AnalysisServices.Server")
$MyConnection.Connect($SSASServerName)
# lets return the number of data sources
[int]$DataSourcecount=$MyConnection.Databases[$DatabaseName].DataSources.count
for ($count=0; $count -ne $DataSourcecount;++$count)
$MyCS=$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString
$NewCS=setNewValue -MyCS $MyCS -Pattern "Data Source=" -ReplaceWith $DataSourceServer
if ($PW.Length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "Password=" -ReplaceWith $PW
if ($UserName.length -ne 0)
$NewCS=setNewValue -MyCS $NewCS -Pattern "User ID=" -ReplaceWith $UserName
$MyConnection.Databases[$DatabaseName].DataSources[$count].ConnectionString=$NewCS
# write the change back to SSAS
$MyConnection.Databases[$DatabaseName].DataSources[$count].update()
write-output $NewCS
answered Oct 30 at 17:58
thom schumacher
799514
799514
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
add a comment |
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
so i have copied that script (from the website) in a whole new powershell file and changed the parameters to my SSAS parameters. i ran the script, refreshed connection/server on SSMS and opened it again and no changes happened to the connection string
– Cataster
Oct 30 at 18:32
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
i did find that he is passing the database name in the Databases[ ]. so i tried that in my code, i didnt get any errors nor did it get back the connection string. then i tried passing in Database8 and it returned the connection string. i am so frustrated, why is it only printing fine for Database8 (whether its passed as a name or index 0), yet its not working for any of the other DB's.....
– Cataster
Oct 30 at 18:46
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53037741%2fconnectionstring-property-not-printing-connection-string%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
you should add the info that the connectionstring prints fine on other dbs on that server, or is that not the case anymore? also add some sql tags to get some sql people to look at this
– Paul
Oct 29 at 9:47
@Paul, ya no matter what, it's only printing with indexes [0] only. Any other index ...nothing. it doesnt make sense at all. Not only that, but when index is 0, its somehow printing the last database (i.e. database8), instead of database 1, since logically 0 is the first index! This looks broken to me/bug. I'll take your suggestion and add more tags ...
– Cataster
Oct 29 at 12:25
Looks to be this class... docs.microsoft.com/en-us/dotnet/api/… Can you provide some of the data that you get?
– thom schumacher
Oct 30 at 14:20
@thomschumacher please check my UPDATE section
– Cataster
Oct 30 at 17:26
1
@thomschumacher apparently we can receive direct MS support since our team is tied to MS products. I opened a support case and an engineer will be assigned to help me resolve this issue. ill update this post of course once i get answers!
– Cataster
Oct 31 at 16:34