How to determine the database mirroring role via Powershell?

Is there a way to determine the current mirroring role of a database via Powershell without the use of t-sql?
With the Microsoft.SqlServer.Management.Smo namespace and database class I can determine the status, witness and partner of the mirrored database, but I can't determine the mirroring role of the current database. I basically want to get the same result
as the following t-sql query in powershell without using t-sql:
SELECT m.mirroring_role_desc 
FROM   sys.database_mirroring m JOIN sys.databases d
ON     m.database_id = d.database_id
WHERE  d.name = 'databasename'
I find it very strange that there is no class property to check for this, while it is an important property of the database. Of course I can use the output of this query in my powershell script for further processing, but I still hope that there is a property
where I can get this information.
TheSultan8

Just to let you know, I've already found it. Here is a part of the code that I use for checking each mirrored database what mirroring role it has:
$sqlconnection="MYLAPTOP\SQL2008R2"
$smo = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $sqlconnection
$mirroreddbs=$smo.Databases | where {$_.IsMirroringEnabled -eq "True"}
$sqlversionmajor=$smo.VersionMajor
foreach ($database in $mirroreddbs)
# Versions lower than SQL 2008 can't query a database in recovery mode
if ($sqlversionmajor -ge 10) 
$dbrolevalue=$database.DatabaseOptions.Properties | where {$_.Name -eq "MirroringRole"}
$dbrole=$dbrolevalue.Value
One catch though, this only works on SQL 2008 and higher version.
TheSultan8

Similar Messages

  • How to determine the database size corresponding to the nber records in DSO

    Hi Colleagues,
    I would like to determine the database size corresponding to my new BI project.
    I know the number of records uploaded in the DSO from the source system for the intialization phase.
    How can I deduct the database size / disk size corresponding to the number of record uploaded ?
    Thanks,

    Hi Ram,
    I am with SAP BI Release SAPKW70019
    I do not have the option Single Table analysis -
    I have in DB02 or ST04 the following options.
    *- Space*
    -- space overview
    ->database
    --overview
    ->users
    --overview
    --detailed analysis
    -> tablespaces
    --overview
    --detailed analysis
    -> segments
    --overview
    --Detailed analysis
    --Detailed Analysis Aggregated
    -> Additional Functions
    --Collector Logs
    --BW Analysis
    Where should I go through ?
    Thanks

  • How to determine the database driver a report uses?

    Hello experts.  I'm using Crystal Report XI R2 and C# (.net 4.0 runtime).
    For a given report, I'd like programmatically determine what database driver(s) a report and it's sub-reports use.  The nice thing is that I don't want to change it.
    When I refer to database drivers I'm talking about the choices one gets when starting a new report in the Crystal UI.  Something like the following:
    Access/Excel (DAO)
    ADO.NET (XML)
    Database Files
    ODBC (RDO)
    OLE DB (ADO)
    I've looked into the developers help file that came with Crystal XI R2, crsdk_net_doc.chm, and can't find any references that would help.  Maybe it's what I'm searching on.
    My goal is for a given directory produce a list of rpt files that use OLE DB and a MS-SQL Server provider.
    Thanks for looking at my question, any assistance is appreciated.
    Mike

    Also note since you are using 4.0 framework you must also be using VS 2010.
    CR for VS 2010 is the only version supported with 4.0 framework.
    See this page to download it: http://www.sdn.sap.com/irj/boc/crystalreports-dotnet
    Or go back to VS 2008.
    Code would look something like this:
         public class frmMain : System.Windows.Forms.Form
            CrystalDecisions.CrystalReports.Engine.ReportDocument rpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
            CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rptClientDoc;
    New subrepoutine...
                ISCDReportClientDocument rcd;
                rcd = rptClientDoc;
                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo oldConninfo;
                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo newConnInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
                CrystalDecisions.ReportAppServer.DataDefModel.Table oldTbl;
                CrystalDecisions.ReportAppServer.DataDefModel.CommandTable newTbl = new CommandTable();
                oldTbl = (CrystalDecisions.ReportAppServer.DataDefModel.Table)rcd.Database.Tables[0];
                oldConninfo = oldTbl.ConnectionInfo.Clone(true);
    Thank you
    Don

  • How to download the database form the call manager 7 to excel?

    how to download the database from the call manager 7 to excel document?

    No, it never did - the "ask" for the DRS folks to provide unencryption capabilities for their TARs is still out there (several other BUs want this) but so far as I know there's been zero movement on it.  I've about given up hope on the DRS folks at this point - pretty clear this isn't a priority for them and I don't see much in the way of any kind of improvements on the product schedule for them at all, this included.
    As a side note I've been pushing the Connection product managers to give us off box file system access to limited directories via a proxy service and roles (i.e. similiar to the ODBC proxy but for SFTP access) - armed with this we can provide our own (far superior) disaster recovery tools that work on a pull model instead of the full push DRS is built on - this would get partial backups, individual restores, about 6x increase in performance (more actually - I have a prototype that is hovering right around 10x the speed of DRS end to end), smaller backups, requires less space and resources on the server etc... etc...  Fun stuff like doing a full backup on Sunday mornings and deltas every day of the week after that and another full backup Sunday etc... would be possible.  Imagine.
    I'll probably get more traction with that but it's a long road I'm afraid - as ever, asking your account team to enter a PERs helps - makes it more difficult for the product folks to delay on assigning engineering resources to such efforts.

  • How to determine logical database in a program?

    Hello guys!
    How to determine logical database in a program on Eclipse?
    I have not found any options:
    Thanks!

    Welcome to SDN
    Check the table RSOSFIELDMAP
    Assign points if useful
    Regards
    N Ganesh

  • How to determine the field size

    I am going to make a multiplatform application that hopefully
    will run on linux and windows 2000.If the os is 2000, then I will use
    vb.net/aspx else I'll use java servlets. I make the connection
    to the web server ( through HTTP) not directly to database server.
    So, the resultset will be stored in the String object. The columns
    will be separated by delimeter. Our problem is how to determine
    the size and type of the fields of mssql,oracle and postgres database
    so that we can include it in the String object.
    Ex.
    String sResultSet=new String();
    ResultSet rs=statement.executeQuery(sSQL);
    while(rs.next()){
    sResultset=sResultSet + rs.getString(field1) + "||" + rs.getString(field2) + "||";
    vertical bars acts as delimeter
    supposedly this is the code:
    sResultset=sResultSet + rs.getString(field1) +"_" + rs.getFieldType() + "_"+
    rs.getFieldSize() + "||" + rs.getString(field2) +"_" + rs.getFieldType() + "_"+
    rs.getFieldSize() + "||";
    supposedly this is the code if rs.getFieldType() and rs.getFieldSize() methods are existing
    Anyone can give me an idea how to get the field type and field size of the database?
    thanks in advance

    Yes, but I dont know how to do it.
    Can you give me an example of using it.
    Thanks in advance

  • How to determine the IPS throughput using Cisco ASA 5500 IPS Solution?

    Hello there!
    I´ve been desinging a solution to protect de Server Farm and I intend to use the ASA 5500 series with AIP-SSM module. There´s any tool to determine the real throughput that I need? I mean, how to determine the performance (Firewall + IPS  throughput), what main points I should consinder?

    If the server farm is running production levels of traffic today you can get statistics off a variety of networking devices passing the existing traffic. Switches, routers and firewalls all count every byte of traffic they pass. There are plenty of tools that can gather this traffic into tables via SNMP too, such as MRTG.
    Do not average your traffic over too great a time peroid, you will miss busy hour peaks. At most, use 5 min averages.
    - Bob

  • How to determine the source to where my saved photo (not taken by my iPhone camera) on whether what application or website did i got that photo? need to go to the source again, please help

    how to determine the source to where my saved photo (not taken by my iPhone camera) on whether what application or website did i got that photo? need to go to the source again, please help

    There is no way to trace the source of a saved photo.
    You might have some luck if you search through the Safari web site history available via the Bookmark icon.

  • How to determine the agent of workflow administrator

    In the workflow, when there is any exception raised, we need to send notification to workflow administrator. My question, how to determine the agent of workflow administrator.

    Hi jrockman li,
    No it is not like that, i mean that administrator for workflow will a single person so you can simply give his userid as the agent.
    As you told "YES SAP HAVE WORKFLOW ADMINISTRATOR ROLES"
    SAP_BC_BMT_WFM_ADMIN          Administrator for Business Workflow
    SAP_BC_BMT_WFM_GP_ADMIN   Role for Guided Procedure Business Workflow Administrators
    SAP_BC_BMT_WFM_UWL_ADMIN UWL: Administrator for Workflow Functionality
    You can use this roles for the agent determination purpose for the workflow administrators.
    Thanks and Regards
    Balaji K.

  • How to reduce the database size based on MS SQL/Oracle?

    Hi,
    I had deleted severy clients via SCC5, but the database size is more and more bigger. Do you know how to reduce the database size.
    my platform is: NT, MS SQL 2005
                           NT, Oracle 10.2
    Best Regards,
    Simon Shen

    Hi Simon,
    In the case of SQL you need to check how many space free you have in your datafiles and the based on that you need to Shrink them using DBCC SHRINKFILE command.
    Find a couple of reference docs here,
    http://www.intermedia.net/support/kb/default.asp?id=996
    http://doc.ddart.net/mssql/sql70/dbcc_21.htm
    Also i'm pretty sure that if your check the properties of the datafiles in MSSQL Enterprise Manager you get a "Shrink" option.
    Regards
    Juan
    Please reward with points if helpful

  • How to determine the latency time?

    Hi
    How do I determine the latency time?
    I need to connect 3 CAN nodes onto the CAN bus and need to know how to determine the delay(latency) time needed between the transmission of a message from one node and reception at the other,
    The latency time and Bandwidth both play a role in the transmission, right?
    Thanks
    Ekta

    Hi Ekta,
    The software you need if you are using an NI board is NI-CAN, and you can look at the driver download page for the appropriate version for your operating system. I'll suggest you take a look at the example programs that install with that driver to get you started. If you are developing using LabVIEW or LabWindows/CVI, go to Help>>Find Examples>>Hardware Input and Output>>CAN for examples. If you are using Visual Basic or C, go to ...\National Instruments\NI-CAN for examples. I have also attached a LabVIEW example below that shows how to enable self reception.
    If you are using another vendor's CAN board, you will need to install their driver, and see if they have any examples to get you started. I assume the approach for measuring the latency will be similar to what I suggested. Hope this helps. Goodluck!
    Regards,
    Message Edited by _Belle on 04-28-2006 07:42 AM
    Ebele O.
    National Instruments
    Attachments:
    Self_Reception.vi ‏97 KB

  • Insufficient rights - How to determine the correct rights?

    All,
    Does anyone know how to determine the correct rights if you get the error message "Insufficient rights for operation"?
    In SAP backend systems you can start transaction SU53 to check your "missing" authorizations, but is something like that also possible in MDM?
    I also don't see any detailed information in the logs or reports.
    If anyone has an good suggestion, please let me know, since I don't want to do "trail and error" to know what Functions to set to Execute and what Tables/Fields to set to Read/Write (because there are quite some combinations to check).
    p.s. I've read the complete reference guide of the MDM console and sometimes it's really obvious what Functions and Tables/Fields you have to set, but for instance when I want to give authorization to maintain Relationships in the DataManager and have set the Main table and all Relationships to Read/Write and have set all Records and DataManager functions to Execute it still doesn't allow me to maintain the relationships on the records! I only get the message "insufficient rights" and it's unclear what rights are missing!
    Regards,
    Marcel

    hi Marcel,
    I doubt if we have anything in MDM to show you what authorizations are missing.However,you can check the following :
    1. What activity are you trying to perform when you get this error.
    2. Check if authorization are given in the role for that actitvity.
    3. Check how many roles are allocated to user and  Is authorization given in all roles if more than 1 role is assigned to that user?
    Please let us know answer of the queries...
    Regards,
    Vineet

  • How to determine the ROWNUM in a Master Detail Form

    Hello,
    I am working in a Master Detail Form with Orders and Order Items Information; and I created a process that allows the users to select a Product ID on a tabular form, and the next column is populated automatically with the Product Description.
    To achieve that, I followed some instructions by Denes Kubicek (http://apex.oracle.com/pls/otn/f?p=31517:241), but my case is slightly different:
    <ul>I am using a wizard-created tabular form, instead of a manual tabular form; and </ul>
    <ul>Instead of using another page as a Popup to pass the parameter of the ROWNUM, I am using a plug-in called “Tabular Form Super LOV” which is a modified version of the SkillBuilders’ Super LOV that works on Tabular Forms. </ul>
    The Product ID is returned in the correct row by the plug-in; but in the case of the Product Description, it is always returned into the first row; and my problem is that I don't know how to determine the row where the user clicked to call the plug-in.
    I set up an example in apex.oracle.com in case someone would like to look at it:
    Workspace: ediazjorge
    Username: test
    Password: test
    App Name: Sample App
    App Number: 1550
    BTW, I am using Apex 4.1.1.00.23 and Oracle DB 10.3.2.
    Thanks in advance,
    Erick

    Hello VC,
    Thank you for your time and help.
    Unfortunately, it is still not working properly:
    1. When the Popup LOV opens, the first row of the tabular form is 0, the second row is 1, and so on. How can I assign the values starting with 1 and in the format *0001* ? (I am still a novice on Apex and new to JavaScript :-), sorry about that).
    --2. Also, when I close the Popup LOV, the value of P1_ROWNUM is ‘undefined’ again so I'm not sure if the Product Name column will be populated.--
    3. And finally, you are using the jQuery Selector uPopupLOVIcon, which is an attribute of the Cloudy Theme. In my real application (Apex 4.1.1.00.26), my element looks like: *<img src="/i/lov_16x16.gif" width="16" height="16" alt="Popup Lov" alt="List" style="vertical-align:middle;" align="middle" />*. What do you recommend me to use as a jQuery Selector?
    Again, I really appreciate your help and time. I think you solved the most difficult part.
    Thank you so much,
    Erick
    Update: I just found out that the problem with my comment 2 is because I didn’t delete the previous dynamic action that set the value to P1_ROWNUM.
    Edited by: ediazjorge on Sep 18, 2012 11:20 AM

  • How to recover the database when some of the archive log file get deleted.

    I am facing a problem with Oracle database, which is related to archivelogs.
    Our development database is running in archivelog mode, but we don't have backups scheduled and have no recovery catalog.
    When the database was in running condition, disk got full, so some archivelogs were deleted manually.
    After this they restarted the DB, and now DB is not coming up. Errors are as follows:
    SQL> startup
    ORACLE instance started.
    Total System Global Area 1444383504 bytes
    Fixed Size 731920 bytes
    Variable Size 486539264 bytes
    Database Buffers 956301312 bytes
    Redo Buffers 811008 bytes
    Database mounted.
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01113: file 1 needs media recovery
    ORA-01110: data file 1: '/export/home/oracle/dev/ADVFRW/ADVFRW.system'
    SQL> recover datafile '/export/home/oracle/dev/ADVFRW/ADVFRW.system'
    ORA-00283: recovery session canceled due to errors
    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
    SQL> recover database using backup controlfile;
    ORA-00279: change 215548705 generated at 09/02/2008 17:06:10 needed for thread
    1
    ORA-00289: suggestion :
    /export/home/oracle/dev/ADVFRW/ADVFRW.archivelog1/LOG_ADVFRW_1107_1.ARC
    ORA-00280: change 215548705 for thread 1 is in sequence #1107
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    /export/home/oracle/dev/ADVFRW/ADVFRW.archivelog1/LOG_ADVFRW_1107_1.ARC
    ORA-00308: cannot open archived log
    '/export/home/oracle/dev/ADVFRW/ADVFRW.archivelog1/LOG_ADVFRW_1107_1.ARC'
    ORA-27037: unable to obtain file status
    SVR4 Error: 2: No such file or directory
    Additional information: 3
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    CANCEL
    Media recovery cancelled.
    SQL>
    1. How to recover the database and bring it online
    Any help will be highly appreciated.
    With Regards
    Hemant Joshi
    Edited by: hem_Kec on Sep 7, 2008 9:07 AM

    Hi,
    Archive log files are the copies of redolog files.As redo log files are circularly overwritten,oracle generates archive log file of the corresponding redo logfiles being overwritten.So if you have a backup that dates back to 10 am in the morning and if your database creashed at 3 pm,you cannot use the redo log files alone as they have incomplete information.To completely recover the database upto 3 pm,you need archive log files generated between 10 am to 3 pm. In your case since you are missing one archive log file,you cannot perform complete recovery and hence would suffer data loss.

  • How to determine the mount point for directory /tmp ?

    Folks,
    Hello. I am installing Oracle 11gR2 RAC using 2 Virtual Machines (rac1 and rac2 whose OS are Oracle Linux 5.6) in VMPlayer and according to the tutorial
    http://appsdbaworkshop.blogspot.com/2011/10/11gr2-rac-on-linux-56-using-vmware.html
    I am installing Grid infrastructure. I am on step 7 of 10 (verify Grid installation enviroment) and get this error:
    "Free Space: Rac2: /tmp"
    Cause: Could not determine mount point for location specified.
    Action: Ensure location specified is available.
    Expected value: n/a
    Actual value: n/a
    I have checked the free space using the command:
    [root@Rac2 /]# df -k /tmp
    Output:
    Filesystem     1k-blocks     used     Available     Use%     Mounted on
    /dev/sda1     30470144     7826952     21070432     28%     /
    As you see above, the free space is enough, but could not determine mount point for /tmp.
    Do any folk understand how to determine the mount point for directory /tmp ?
    Thanks.

    I have just checked "/home/oracle/.bash_profile". But in my computer, there is no "oracle" under /home directory.Is this your first time Linux and Oracle installation? I had a brief look at your referenced link. The reason why you do not find a "oracle" user is because the instructions use "ora11g" instead, which, btw, is not standard. The directories of your installation and your installation source can be somewhat different from known standards and you will have to adjust it to your system.
    My best guess is that you have either missed something in the instructions or you need to ask the author of the blog what is wrong. The chance to find someone here who has experience with these custom instructions is probably unlikely.
    I suggest you try to locate the cluster verification tool, which should be in the bin directory of your grid installation. Alternatively you might want to check the RAC, ASM & Clusterware Installation forum: RAC, ASM & Clusterware Installation

Maybe you are looking for